【问题标题】:display:table versus using tables显示:表格与使用表格
【发布时间】:2017-11-18 17:53:59
【问题描述】:

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

我知道这不是一件好事,就像 2 年前 IE 和其他可能不支持 display:table / table-cell 等一样。但我认为现在所有浏览器都支持它,对吧?

【问题讨论】:

标签: html css cross-browser css-tables


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    我不会将结构 (HTML) 与样式 (CSS) 混为一谈。如果是表格数据,就使用<table>s,如果不是,最好使用divs/CSS。

    【讨论】:

    • display: table 是 CSS,可以应用于divs(确实经常如此)。
    • 我的意思是她正在尝试通过 CSS 建立表格结构,imo 不是一个好主意。
    • 那么响应性呢?表格在手机上添加水平滚动条
    【解决方案3】:

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

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

    【讨论】:

    • 不想开始争论,但是是对的。表格数据是表格中的数据。 “表格数据”是“排列成网格”的一个小子集
    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

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

      但是如果你的数据是表格的,比如表格,你可以使用表格。

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

      【讨论】:

        【解决方案6】:

        从个人经验显示:表格等是相当多余的(如果我错了,请纠正我)

        您最好使用 div 并使用 CSS 相应地对其进行样式设置。

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

        【讨论】:

        • 所以,display: table 用于使用 CSS 为 divs 设置样式...您的两个句子似乎直接相互矛盾。
        • 啊哈很好地发现了......我试图在不使用 display:table 系列的情况下使用通常的布局方法/样式。
        【解决方案7】:

        我认为你最终显示的是表格数据,那么一个表格就足够了。我相信,当您从设计角度使用表格来控制布局时,纯粹主义者会遇到困难,因为从理论的角度来看,您的语义标记将表示表格数据,但实际上您可能正在使用它来定位图像。话虽如此,我有时会在不使用表格的情况下尝试布置东西时感到沮丧——我知道这很不受欢迎,但谁是完美的??

        【讨论】:

          【解决方案8】:

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

          在很多情况下,我仍然使用表格来构建我的页面。当他们说你应该使用 css 来代替时,人们是对的,但是很遗憾,你必须投入的工作量才能让 div 在一个浏览器中像网格一样正常工作,更不用说所有主要浏览器了,是仍然令人望而却步。除非你能找到一个真正的(而不是理论/哲学类型的)表格问题,否则它在这一点上更实用。

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

          【讨论】:

            猜你喜欢
            • 2014-09-22
            • 2013-02-04
            • 2016-12-27
            • 2014-12-23
            • 2012-08-02
            • 1970-01-01
            • 1970-01-01
            • 2016-12-19
            • 1970-01-01
            相关资源
            最近更新 更多