【发布时间】:2017-11-18 17:53:59
【问题描述】:
我想知道使用 CSS 显示属性来模拟一个非常简单的论坛系统的表格是否是个好主意。
我知道这不是一件好事,就像 2 年前 IE 和其他可能不支持 display:table / table-cell 等一样。但我认为现在所有浏览器都支持它,对吧?
【问题讨论】:
标签: html css cross-browser css-tables
我想知道使用 CSS 显示属性来模拟一个非常简单的论坛系统的表格是否是个好主意。
我知道这不是一件好事,就像 2 年前 IE 和其他可能不支持 display:table / table-cell 等一样。但我认为现在所有浏览器都支持它,对吧?
【问题讨论】:
标签: html css cross-browser css-tables
如果论坛上显示的信息是表格的,那么不要害怕使用在语义上有意义的表格。
对于一般的页面布局,我个人不会使用它。我会坚持使用典型的块级 div 布局和浮动。 IE7 不支持 display:table 并且还有其他一些注意事项,例如它会根据内容扩展宽度。对于未来,我期待完全支持flexbox。
我偶尔会使用 display:inline-block 来居中动态列表项等。
【讨论】:
我不会将结构 (HTML) 与样式 (CSS) 混为一谈。如果是表格数据,就使用<table>s,如果不是,最好使用divs/CSS。
【讨论】:
display: table 是 CSS,可以应用于divs(确实经常如此)。
display: table 非常适合需要类似网格的布局但适用于非表格数据的情况。它是supported since IE8,所以你绝对可以使用它。如果所有浏览器都支持CSS grid proposal,那么我会说display: table基本上没有用,但是support is not very good。
就个人而言,我认为论坛是非表格数据网格布局的一个很好的例子。但是,我过去曾在 StackOverflow 上争论过究竟什么是“表格数据”;我在“表 1:数字和数字”的严格方面犯了错误,而其他人似乎倾向于说表格是“排列成网格”的同义词。
【讨论】:
它很有用,特别是对于内容的垂直居中。我不会将它用于整个布局,但这只是因为我习惯使用浮动。
【讨论】:
我也同意 Phil 的观点,表格用于表格数据。 我更喜欢使用 div 和 span,而不是尽可能使用表格。
但是如果你的数据是表格的,比如表格,你可以使用表格。
同样的表格网格也可以只使用 div 来开发。
【讨论】:
从个人经验显示:表格等是相当多余的(如果我错了,请纠正我)
您最好使用 div 并使用 CSS 相应地对其进行样式设置。
编辑:^ 不使用 display:table/display:table-cell.. 并使用更常见/标准的方法来显示数据。 (但是有人可能会说这是一种通用/标准方法)
【讨论】:
display: table 用于使用 CSS 为 divs 设置样式...您的两个句子似乎直接相互矛盾。
我认为你最终显示的是表格数据,那么一个表格就足够了。我相信,当您从设计角度使用表格来控制布局时,纯粹主义者会遇到困难,因为从理论的角度来看,您的语义标记将表示表格数据,但实际上您可能正在使用它来定位图像。话虽如此,我有时会在不使用表格的情况下尝试布置东西时感到沮丧——我知道这很不受欢迎,但谁是完美的??
【讨论】:
现在大多数较新的浏览器可能都可以使用它。你能做的最好的事情就是在你关心的浏览器上测试它。无论您做什么,都无法让“所有浏览器”都满意。
在很多情况下,我仍然使用表格来构建我的页面。当他们说你应该使用 css 来代替时,人们是对的,但是很遗憾,你必须投入的工作量才能让 div 在一个浏览器中像网格一样正常工作,更不用说所有主要浏览器了,是仍然令人望而却步。除非你能找到一个真正的(而不是理论/哲学类型的)表格问题,否则它在这一点上更实用。
也许当 css 网格布局成为合适的替代品时,我会从我邪恶的 <table> 方式中忏悔,但在那之前......
【讨论】: