【发布时间】:2017-03-08 12:09:53
【问题描述】:
网上似乎有很多关于这个的,但它令人难以置信的混乱,所以我想尝试得到一个明确的答案。
我有一张桌子,比如 2 列和 2 行。
1 | 2
3 | 4
我希望它在视口需要时折叠成行。
1
2
3
4
我的代码如下
<table border=0 cellpadding=0 cellspacing=0 width="100%" class="resptable">
<tr>
<td>Text 1</td>
<td>Text 2</td>
</tr>
<tr>
<td>Text 3</td>
<td>Text 4</td>
</tr>
</table>
堆叠版的css如下。
.resptable td {display:block;width:100% !important;padding-right:20px;}
这在 FF 和 Chrome 中似乎没问题,但在 Safari 或 IE 中却不行。
奇怪的是(对我来说),附加到 TH 而不是 TD 的相同代码在 Safari 中有效(尽管在 IE 中仍然无效)。
在每个网站都必须响应的世界中,仍然存在数千个跨浏览器/设备问题。
有人知道这个简单任务的明确跨浏览器方法吗?
【问题讨论】:
-
不要使用表格。表格需要付出很多努力才能做出响应。尝试使用网格系统或 Flex CSS。
-
感谢@Staveven - 我确信这是一个完全合乎逻辑的建议,我很乐意同意哈哈,但未来我需要检查 Flex 等 :)
-
我包含了一个使用简单 CSS Flex 命令的快速示例。我将添加另一个使表格具有响应性。
-
表格用于表格数据。您要做的是布局,这是不同的。见Why not use tables for layout in HTML?
-
当你需要表格布局时,使用
display: table。无需与浏览器争夺所有额外的格式,效果很好。一旦你知道如何正确使用 CSS,你会发现你可以做布局一样快,甚至更快。
标签: html css html-table media-queries