display:table与using tables

时间:2011-07-08 20:03:28

标签: html css cross-browser css-tables

我想知道使用CSS显示属性为一个简单的论坛系统模拟表是否是一个好主意。

我知道2年前当IE和其他人不支持显示时这不是一件好事:table / table-cell等。但我想现在所有浏览器都支持它,对吗?

8 个答案:

答案 0 :(得分:3)

如果论坛上显示的信息是表格式的,那么如果在语义上有意义,请不要害怕使用表格。

对于一般页面布局,我个人不会使用它。我坚持使用典型的块级div布局和浮点数。 IE7不支持display:table,还有其他注意事项,例如它会根据内容扩展宽度。对于未来,我期待完全支持flexbox

我偶尔会使用display:inline-block来集中动态列表项等。

答案 1 :(得分:2)

从个人经验显示:表等是非常多余的(如果我错了,有人会纠正我)

你最好使用div并相应地使用CSS设置样式。

编辑:^不使用display:table / display:table-cell ..并使用更常见/标准的方法显示您的数据。 (但有人可能会认为这是一种常见的/标准的方法)

答案 2 :(得分:2)

我不会将结构(HTML)与样式(CSS)混合在一起。如果是表格数据,只要使用<table>,如果不是,你最好选择使用divs / CSS。

答案 3 :(得分:2)

我认为在您显示表格数据的最后,表格就足够了。我相信,当你从设计的角度使用表来控制布局时,纯粹主义者会很难,因为从理论的角度来看,你的语义标记会说表格数据,但实际上你可能会用它来定位图像。话虽这么说,我有点沮丧,有时试图在没有使用桌子的情况下解决问题 - 我知道这是不赞成的,但谁是完美的?

答案 4 :(得分:2)

display: table非常适合您需要类似网格的布局,但适用于非表格数据。它是supported since IE8,所以你绝对可以使用它。如果所有浏览器都支持CSS grid proposal那么我会说display: table基本没用,只有support is not very good

就个人而言,我认为论坛是非表格数据的网格式布局的一个很好的例子。但是,我过去在StackOverflow上讨论过什么是“表格数据”;我在“表1:数字和数字”的严格方面犯了错误,而其他人似乎倾向于说表格是“排列在网格中”的同义词。

答案 5 :(得分:2)

它可以使用,特别是对于内容的垂直居中。我不会将它用于整个布局,但那只是因为我习惯使用浮动。

答案 6 :(得分:2)

我也同意Phil,表格是表格数据。 我更喜欢使用div和spans,而不是尽可能使用表格。

但是,如果您的数据是表格,例如网格,则可以使用表格。

同样的表格网格也可以用div来开发。

答案 7 :(得分:1)

现在大多数新版浏览器都可以使用它。你能做的最好的事情就是在你关心的浏览器上进行测试。无论你做什么,你都无法让“所有浏览器”都满意。

在很多情况下,我仍然使用表来构建我的页面。当他们说你应该使用css时,他们是正确的,但是很好的悲伤,你需要投入的工作量才能使div在一个浏览器中正确地表现为网格,更不用说所有主流浏览器了,仍然望而却步。除非你能找到一个真实的(与理论/哲学类型相反)的问题,否则它在这一点上更加实用。

也许当css网格布局成为合适的替代品时,我会从我邪恶的<table>方式中悔改,但直到那时......