Как удалить пробелы между ячейками в таблице HTML

Я пытаюсь удалить пробел между Table1Header и Table2Header. Я попробовал border:0px, padding:0px и border-spacing: 0px; стили. Firefox и Opera говорят мне, что мой стиль интервала между границами переопределен стилем агента пользователя (который является 2px). Как я могу заставить браузер использовать мои styleshits?

http://jsfiddle.net/cdjDR/2/

<table class="tableGroup">
    <tbody>
        <tr>
            <td>
                <table>
                    <tbody>
                        <tr class="tableHeader">
                            <td><span class="tableHeader"><label>Table1Header</label></span>

                            </td>
                        </tr>
                        <tr class=" tableData">
                            <td>
                                <div class="ui-datatable">
                                    <div>
                                        <table>
                                            <thead>
                                                <tr>
                                                    <th>
                                                        <div><span><span class="ui-header-text">Table1Col1</span></span>
                                                        </div>
                                                    </th>
                                                </tr>
                                            </thead>
                                            <tbody>
                                                <tr>
                                                    <td><span>2</span>

                                                    </td>
                                                </tr>
                                            </tbody>
                                        </table>
                                    </div>
                                </div>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </td>
            <td>
                <table>
                    <tbody>
                        <tr class="tableHeader">
                            <td><span class="tableHeader"><label>Table2Header</label></span>

                            </td>
                        </tr>
                        <tr class="tableData">
                            <td>
                                <div class="ui-datatable">
                                    <div>
                                        <table>
                                            <thead>
                                                <tr>
                                                    <th>
                                                        <div><span><span class="ui-header-text" >Table2Col1</span></span>
                                                        </div>
                                                    </th>
                                                </tr>
                                            </thead>
                                            <tbody>
                                                <tr>
                                                    <td><span>12345</span>

                                                    </td>
                                                </tr>
                                            </tbody>
                                        </table>
                                    </div>
                                </div>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </td>
        </tr>
    </tbody>
</table>

span.tableHeader > label {
    display: inline-block;
    float:left;
    line-height:30px;
    padding-left:10px;
    color: #202020;
    font-size: 13px;
}
tr.tableHeader {
    background-color: #EEEEEE;
}
table.tableGroup, table.tableGroup > tr > td > table {
    border-spacing: 0px;
}
table.tableGroup div.ui-datatable th > div > span >span.ui-header-text {
    color: #808080;
    font-size: 11px;
}
table.tableGroup td, table.tableGroup th {
    padding: 0px;
    border: 0px;
}

4 ответов


браузеры не говорят вам, что ваш border-spacing style переопределяется таблицей стилей агента пользователя. Вместо этого они могут указывать, что наследование не происходит для него. Это просто вызвано тем, что некоторые таблица стилей задает свойство элемента.

причина, по которой ваше правило не применяется к внутреннему table элемент заключается в том, что он не соответствует ни одному из ваших селекторов. Селектор

table.tableGroup > tr > td > table

не соответствовать ей, потому что tr элемент никогда не является дочерним table даже если может показаться. По синтаксису HTML существует промежуточное tbody элемент, даже если его начальный и конечный тег отсутствуют. Следующий селектор будет соответствовать:

table.tableGroup > tbody > tr > td > table

конечно, просто table селектор также выполнит эту работу, при условии, что вы хотите все table элементы, которые будут стилизованы по правилу.


вы можете просто использовать border-collapse: collapse; или даже border-spacing: 0; нормально

table { /* Will apply to all tables */
    border-spacing: 0;
    /* OR border-collapse: collapse; */
}

демо

вы можете легко переопределить таблицу стилей useragent с помощью простого селектора элементов.


если вы хотите нормализовать стили, вы должны использовать сброс CSS


подходит к вашему селектору, который кажется мне грязным, так как yo нацелены на таблицу с class .tableGroup и table вложены в это

table.tableGroup, table.tableGroup > tr > td > table {
    border-spacing: 0px;
}

лучше использовать

table.tableGroup, 
table.tableGroup table {
   border-spacing: 0;
}

вам нужно добавить (border=" 0 "cellpadding=" 0 "cellspacing= "0") табличные дань в каждом теге таблицы

пример

<table border="0" cellpadding="0" cellspacing="0">

*пример с ваших классах *

<table border="0" cellpadding="0" cellspacing="0"  class="tableGroup">

попробуй такое

table {
    border-spacing:0px; 
}

работает с помощью CSS