2009-05-28 80 views
5

我有一個空的表格行,僅用於行之間的分隔。如果所有單元格都爲空,是否會顯示一個表格行?

<tr> 
    <td colspan="5"></td> 
</tr> 

它在IE,FF,Opera和Safari中呈現。問題是,我是否應該在其中放置一些內容,或者將其保留原樣好嗎?

像:

<tr> 
    <td colspan="5">&nbsp;</td> 
</tr> 
+0

使用空行進行間隔會破壞您的數據結構。 您可能會更好地將各種數據塊包裝到adad或tbody元素中,並將它們設計爲實現間距。 – Quentin 2009-05-28 08:39:32

回答

11

那麼你可以把一個&nbsp;作爲列內容,以確保顯示的行。更好的方法是使用CSS進行間隔。

+1

+1你應該真的使用CSS來做這件事 – 2009-05-28 08:13:21

+1

CSS將不起作用。我也希望填充背景顏色的單元格,同時讓分隔符保持白色。如果我將填充物放到細胞上,填充區域也會被填充。我不想那樣。 – User 2009-05-28 08:51:22

0

您可能已經嘗試過,但如果您嘗試在行之間添加一些空間,您是否嘗試添加一些填充。

CELLSPACING =長度(單元格間距)

CELLPADDING =長度(細胞內的間距)

卡爾

1

,如果你想要把裏面的內容,我會用一個沒有打破空間:&nbsp;,而不是一個普通的空白

6

從語義上講,空行是用於某個目的,還是純粹用於佈局?如果是後者,可能需要考慮刪除空行,並通過CSS提供分隔。例如。

<tr class="separate-below"> 
    <td>Data before separater</td><td>More Data</td>... 
</tr> 
<tr> 
    <td>Data after separater</td><td>More Data</td>... 
</tr> 

隨着在樣式表中執行以下操作:

TR.separate-below TD,TR.separate-below TH { 
    border-bottom: 1em solid white; /* use the background colour of a cell here */ 
} 

或者,也可以使用多個<TBODY>元件行的組塊一起(添加規則=「基團」的表元素導致<tbody>元素在頂部和底部獲得水平邊框,而<colgroup>元素獲得左右邊框):

<table rules="groups"> 
<thead> 
    <tr><th>Header</th><th>Header</th>...</tr> 
</thead> 
<tbody> 
    <tr><td>Data</td><td>Data</td>...</tr> 
    <tr><td>Data</td><td>Data</td>...</tr> 
    ... 
</tbody> 
<tbody> 
    <tr><td>Data</td><td>Data</td>...</tr> 
    ... 
</tbody> 
... 
</table> 
3

正如您在W3Schools的this example中看到的那樣,使用&nbsp;是實現您想要的最佳方式。

+0

1. w3fools,2. link rot。除此之外,我並不反對` `表格單元格。 – vaxquis 2017-10-22 21:48:56

0

爲了確保空單元格顯示以下可以使用CSS:

table { empty-cells:show; } 
0

您可以使用多個tbody標籤組錶行。這是完全有效的和更多的語義。

1

這是一個很古老的問題,但如果有人仍然需要一個解決方案(與display: table-celltable-row elements存在問題)

這裏的解決方案:

.emptyElement:after{ 
    content: "\00a0"; 
} 
1

我想補充我的解決方案,它是一個修改@Dariusz Sikorski解決方案。

td:empty:after, th:empty:after { 
    content: "\00a0"; 
} 
相關問題