样式div作为表格,可以接受吗?

时间:2012-11-15 22:06:15

标签: html css

我正在开发一个模板,我知道使用CSS比使用HTML表进行定位更好......但是,在我的div上使用两个世界并使用类似表格的样式是否可以接受?例如:

display: table;

这不仅可以帮助我解决粘性页脚问题,而且还可以避免与浮动相关的痛苦。不确定这是否会被视为丑陋的黑客或雄辩的解决方案。想法?

6 个答案:

答案 0 :(得分:1)

丑陋的黑客......您可以使用 clearfix 方法处理浮点数,并且可以使用大量粘性页脚技术(如this一个)。

display: table not supported in IE7 and below如果这是一个问题。

您应该继续使用更新的语义元素进行布局 - 标题部分页脚等,然后诉诸<当你想只提供一些表格数据时,em> table -s。

答案 1 :(得分:1)

我个人认为使用display: table没有错。我不建议广泛使用它,但有时它可以非常有用的方式显示您想要的方式,而无需添加一堆额外的HTML或处理繁琐的CSS规则,以获得一些看起来像你的方式想要它。

如果它适用于您在开发中定位的客户端浏览器,并且可以为您节省其他方面的痛苦或复杂性,而不是随意使用它。

答案 2 :(得分:1)

没有理由害怕或厌恶display: table。是的,值为table,但它是公平的游戏,完全有效的CSS 2.1。

表格在标记中“不好”,因为它们被滥用并以不反映其预期语义目的的方式应用,即呈现表格数据。如果你有表格数据,那么不使用表格就像使用表格进行布局一样。

让我们回到主题。 IE中对display: table的支持有点不稳定。 8并且Android中不存在&lt; 2.1和iOS&lt; 3.2。如果您需要支持这些,请使用float

此属性的最简单用法是将display: table应用于父元素,将display: table-row应用于子元素,将display: table-cell应用于大孩子。如果你在任何级别偏离这一点,结果可能会有点奇怪。 (我对此有个人经验。)如果卡住了,请查看CSS表模型的W3C规范。

<强>来源:
http://caniuse.com/css-table
http://www.w3.org/TR/CSS21/tables.html#table-display

答案 3 :(得分:0)

这取决于。虽然CSS divs是HTML中任何东西的最佳解决方案(除非你需要IE6支持......),而表格(就标记而言)正在成为一项古老的技术,一方面可以提出最多的CSS上有残障和愚蠢的解决方案,另一方面,你可以创建一个没有单一div的HTML杰作。

因此,如果您认为自己在CSS方面做得很好,请使用它。如果你不确定,或者你是一个真正的表大师,表应该做的工作。

答案 4 :(得分:0)

我个人从未使用display: table,但这个链接似乎非常精通语法。

http://www.onenaught.com/posts/201/use-css-displaytable-for-layout

我通常坚持使用花车,在阅读之后,可能会给display: table一个机会。当我使用浮动时,我必须使用某种clear: both div来跟进它。 display: table似乎是解决该问题的更有效和可接受的解决方案。

答案 5 :(得分:0)

如上所述,表格适用于表格数据。当你获得大量动态数据时,我也喜欢使用表格。对于模板开发,我会坚持使用CSS。