2009-05-28 31 views
5

Tôi có một hàng bảng trống chỉ để phân cách giữa các hàng.Hàng sẽ được hiển thị nếu tất cả các ô của nó trống?

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

Nó được hiển thị trong IE, FF, Opera và Safari. Câu hỏi đặt ra là, liệu tôi có nên đặt một số nội dung bên trong nó hay không?

Giống như:

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

Sử dụng hàng trống cho khoảng cách sẽ phá vỡ cấu trúc dữ liệu của bạn. Bạn có thể sẽ tốt hơn khi gói các khối dữ liệu khác nhau trong các phần tử thead hoặc tbody và tạo kiểu cho chúng để đạt được khoảng cách. – Quentin

Trả lời

11

Vâng, bạn có thể đặt một &nbsp; như nội dung cột để đảm bảo hàng được hiển thị. Cách tốt hơn là sử dụng CSS cho khoảng cách mặc dù.

+1

+1 bạn thực sự nên sử dụng CSS cho CSS –

+1

này sẽ không hoạt động. Tôi cũng muốn điền vào các ô có màu nền, trong khi các dấu phân tách có màu trắng. Nếu tôi đặt đệm vào các ô, vùng đệm cũng sẽ được lấp đầy. Tôi không muốn điều đó. – User

0

Có thể bạn đã thử điều này nhưng nếu bạn cố gắng thêm một số khoảng trống giữa các hàng, bạn đã thử thêm một số phần đệm.

cellspacing = Chiều dài (khoảng cách giữa các tế bào)

cellpadding = Chiều dài (khoảng cách trong các tế bào)

Karl

1

nếu bạn muốn đưa nội dung bên trong, tôi sẽ sử dụng một không phá vỡ không gian : &nbsp;, chứ không phải là một ô trống bình thường

6

Ngữ nghĩa, hàng trống có phục vụ mục đích hay hoàn toàn là bố cục không? Nếu sau này, nó có thể có giá trị xem xét thả hàng trống, và cung cấp sự tách biệt thông qua CSS. Ví dụ.

<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> 

Với sự sau trong stylesheet:

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

Ngoài ra, bạn có thể sử dụng nhiều <tbody> yếu tố để khối nhóm các hàng với nhau (thêm quy tắc = "nhóm" tới phần tử bảng gây <tbody> các phần tử để có đường viền ngang ở trên cùng và dưới cùng, và <colgroup> yếu tố để có đường viền sang trái và phải):

<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

Như bạn có thể thấy trong this example từ W3Schools bằng cách sử dụng &nbsp; là cách tốt nhất để làm những gì bạn muốn.

+0

1. w3fools, 2. liên kết thối. Ngoài ra, tôi không chống lại '  'các ô bảng. – vaxquis

0

Để đảm bảo rằng các tế bào rỗng được hiển thị CSS sau đây có thể được sử dụng:

table { empty-cells:show; } 
+0

Điều này không hoạt động nếu tất cả các ô trong một hàng trống. – Matijs

0

Bạn có thể sử dụng nhiều tbody thẻ để hàng bảng nhóm. Nó hoàn toàn hợp lệ và ngữ nghĩa hơn.

1

Đây là một câu hỏi rất cũ, nhưng nếu ai đó vẫn cần một giải pháp (vấn đề tồn tại với display: table-cell hoặc table-row elements)

đây là giải pháp:

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

tôi muốn thêm giải pháp của tôi mà là một sửa đổi giải pháp @Dariusz Sikorski.

td:empty:after, th:empty:after { 
    content: "\00a0"; 
} 
Các vấn đề liên quan