2013-05-16 3 views
2

Я хотел бы знать, если это ошибка. Как вы можете видеть на jsfiddle, есть только верхняя граница, а не границы вокруг всех ячеек. Обратите внимание, что IE 9 рисует границы, как ожидалось. Также обратите внимание, что если вы перемещаете содержимое <tfooter> в <tbody>, Firefox начинает рисовать границы как IE.Неправильная граница заголовка таблицы в Firefox

HTML

<table> 
<thead> 
    <tr> 
     <th>Header 1</th> 
     <th>Header 2</th> 
     <th>Header 3</th> 
    </tr> 
</thead> 
<tfoot> 
    <tr> 
     <td colspan="3"> 
      <span class="norecords">No records found.</span> 
     </td> 
    </tr> 
</tfoot> 
<tbody></tbody> 

CSS

table { 
    background-color: #EFEFEF; 
    border: 1px solid #BCBCBC; 
    border-collapse: collapse; 
} 
th, td { 
    padding: 10px; 
} 
th { 
    border: 1px solid #BCBCBC; 
} 
+0

Я использую хром, а граница хорошо работает – gamehelp16

ответ

4

Ваша проблема является tbody - если вы удалите этот пустой тег (или добавить строку к нему) он будет работы:

http://jsfiddle.net/FyARs/3/

+0

Aaaa, вы правы. Является ли эта часть спецификации html или чем-то еще? – Behnil

+0

Я просто думаю, что разные браузеры обрабатывают пустые теги в таблицах по-разному - т.е. имеют проблемы с пустыми ячейками (не уверен, что они все еще делают!) – Pete

+0

В любом случае, это странно. Я не понимаю, почему пустое тело влияет на левую и правую границы ячеек заголовка. – Behnil

0

Это работает для всех

<table border=0 cellspacing=0 cellpadding=0> 
    <thead> 
     <tr> 
      <th>Header 1</th> 
      <th>Header 2</th> 
      <th>Header 3</th> 
     </tr> 
    </thead> 
    <tfoot> 
     <tr> 
      <td colspan="3"> 
       <span class="norecords">No records found.</span> 
      </td> 
     </tr> 
    </tfoot> 
    <tbody></tbody> 
</table> 

CSS

table { 
    background-color: #EFEFEF; 
    border: 1px solid #BCBCBC; 
} 
th, td { 
    padding: 10px; 
} 
th { 
    border: 1px solid #BCBCBC; 
} 
0

Это потому, что различные способы браузеров, связанных с обрушением границ.

В firefox пустой tbody без tr в нем, он будет рассматриваться как безграничный, безграничный край будет по краю почти строк.

просто удалите неиспользованный tbody в вашем случае, или поместите хотя бы пару <tr></tr>.

+0

Я следую рекомендации w3schools. См. Http://www.w3schools.com/tags/tag_tfoot.asp, а именно: «Тег должен использоваться в следующем контексте: В качестве дочернего элемента

после любых и элементов и перед любыми и элементов. " – Behnil

+0

@Behnil http://w3fools.com/ – Pete

+0

@Behnil извините, я вспомнил неправильный порядок – Phoenix

Смежные вопросы

,