回答
不,border-collapse
不允許單獨定義水平和垂直。你可以用額外的標記(其中,在桌子上,最終可能會成爲額外的標記的很多)實現它,所以我不建議它,但我會給它的代碼:
HTML:
<table>
<tr>
<th><div>Header 1</div></th>
<th><div>Header 2</div></th>
</tr>
<tr>
<td><div>Content 1</div></td>
<td><div>Content 2</div></td>
</tr>
<tr>
<td><div>Content 3</div></td>
<td><div>Content 4</div></td>
</tr>
</table>
和CSS:
table {border-collapse: collapse;}
th, td { border: 0; padding: 0;}
th div, td div {margin: 5px 0 0; border: 1px solid #ff0000; padding: 5px;}
當然,你可能要使用一個類上div
或子選擇,只針對div
如果某種方式您可能在table
數據中有其他div。 margin
控制您的水平間距,當然,您的padding
或border
寬度可以是任何你想要的。
這是你在找什麼?
table {
border: 1px solid black;
}
table td {
border: 1px solid red;
margin: 3px;
}
它不使用border-collapse
屬性,但在其自己單獨的邊境各<td>
創建一個外部表邊框。
我能得到的最接近的是:
table {
border-collapse: separate;
border-spacing: 4px 0;
}
table td, table th {
border: 1px solid black;
}
不幸的是,這將創建行之間的雙粗線。在border-spacing
屬性中不允許使用負值,否則-1px
可能會起作用。
你可以做其他線路2px的寬,如果這是可以接受的,那麼至少你不會有不同的邊框厚度:
table {
border-collapse: separate;
border-spacing: 4px 0;
}
table td, table th {
border-width: 1px 2px;
border-style: solid;
border-color: black;
}
table tr:first-child th,
table tr:first-child td {
border-top-width: 2px;
}
table tr:last-child th,
table tr:last-child td {
border-bottom-width: 2px;
}
這適用於我 – 2013-03-12 23:13:54
另一種選擇是將頂行的邊界底部設置爲0 – Tom 2013-12-09 18:07:25
也許
table {
border-spacing: 1px 0;
}
偉大的解決方案。謝謝。 – 2012-05-24 12:45:51
這是迄今爲止最好的答案。 – dlsso 2016-07-05 21:55:57
這可能是無需使用第td單元中的額外div元素。該解決方案適用於Chrome,Firefox和IE8 +。
CSS
table
{
border-collapse: separate;
border-spacing: 10px 0px;
}
td, th
{
padding: 10px;
border: 1px solid #000;
border-top: none;
}
table tr:first-child th
{
border-top: 1px solid #000;
}
變化表TR:第一胎次到表TR:第一胎TD如果表的第一行不包含表頭單元格(TH)。
見我的jsfiddle這裏:Table with column spacing but collapsed row border
完美的作品! – Uri 2015-08-14 16:04:27
- 1. HTML/CSS:垂直邊界重疊水平邊框
- 2. 摺疊adjasent元素的垂直邊界?
- 3. 垂直創建水平分隔符UIStackView
- 4. 垂直邊界使用CSS
- 5. CSS - 水平和垂直分佈div
- 6. JList - 使用垂直滾動條而不是水平垂直摺疊方向?
- 7. UICollectionViewLayout水平部分,垂直單元格
- 8. 垂直和水平並行
- 9. 折開清單的垂直和水平
- 10. 垂直邊界的css最小邊距
- 11. CSS表格邊框不會摺疊
- 12. html/css:空格/水平列表中的摺疊容器
- 13. 水平和垂直居中表格
- 14. 垂直和水平表格標題
- 15. 垂直到水平表與月分組
- 16. 使用堆疊面板 - 垂直+水平
- 17. CSS垂直分隔線
- 18. 垂直分隔線CSS
- 19. 垂直和水平表
- 20. 限制水平/垂直軸的邊界橢圓
- 21. 填充邊界的垂直或水平中心圖像
- 22. 垂直摺疊動畫
- 23. 垂直到水平?
- 24. 水平或垂直
- 25. 垂直或水平
- 26. CSS垂直和水平中心Div
- 27. 垂直和水平排列圖像(CSS)
- 28. css垂直和水平對齊問題
- 29. 子菜單水平到垂直的CSS
- 30. CSS中心垂直和水平形式
這正是我想避免,但感謝的答案:) – pistacchio 2010-07-20 13:43:18
隨着次DIV,TD DIV {保證金:-1px爲5px 0; border:1px solid#ff0000; padding:5px;}你得到你想要的東西:http://jsfiddle.net/7h5rV/ – 2010-07-20 13:49:36
這會讓他與他想要的相反,它會分開垂直線並摺疊水平線。然而,你的'-1px'邊距是一個好點,因爲我的解決方案會在垂直方向上放置一個雙邊框,所以他需要以某種方式處理這個問題,無論是通過負邊距還是隻將邊框放在左邊,除了最後一個單元一排。 – ScottS 2010-07-20 14:21:21