【问题标题】:3 column layout based of Table/Table-cell doesnt work on Chrome and Opera基于 Table/Table-cell 的 3 列布局在 Chrome 和 Opera 上不起作用
【发布时间】:2014-09-12 14:27:54
【问题描述】:

我不确定为什么这在 Chrome 或 Opera 上不起作用。我没有看到任何与其他浏览器不兼容的内容。

有什么想法吗?

jsFiddle:http://jsfiddle.net/3vugadj6/

        <style>
            #page_body_table {
                display: table;
                width: 100%;
                vertical-align: center;
            }

            #page_body_left {
                display: table-cell;
                max-width: 100%;
            } 

            #page_body_middle {
                display: table-cell;
                width: 700px;
                border: 1px solid black;
            }

            #page_body_right {
                display: table-cell;
                max-width: 100%;
            }

            @media screen and (max-width: 700px) {
                #page_body_left, #page_body_right {
                    display: none;
                }
            }
        </style>
        <div>
        <center id="page_body_table">
            <div id="page_body_left">

            </div>
            <div id="page_body_middle">
                this is content of page
            </div>
            <div id="page_body_right">

            </div>
        </center>
    </div>

【问题讨论】:

  • 在 IE 或 Firefox 中也不适合我。你能提供一张你想要达到的目标的图片吗?
  • viamarketing.net/dev/index.php 2侧栏必须是灵活的,并且在一定宽度处消失中间必须保持在该点的w / e宽度的最大宽度。然后像 950px 侧栏消失,我希望中间有响应并随着页面宽度缩小。

标签: html css google-chrome firefox opera


【解决方案1】:

您必须添加:table-layout: fixed;#page_body_table 并使其看起来像这样:

#page_body_table {
    display: table;
    width: 100%;
    vertical-align: center;
    table-layout: fixed;
}

这是fiddle

解释可以在here找到。

长话短说:如果布局是自动的,而不是固定的,宽度由单元格的内容决定,在你的情况下是无,所以中间的单元格被拉伸。如果它已修复,它会将剩余空间分配给空单元格。

【讨论】:

  • 不过,我必须让中间列响应。有什么办法可以避免“固定”?
  • 忽略我的最后评论,我将删除该标签并替换为“在特定宽度上自动。非常感谢,先生。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-22
  • 2012-02-17
  • 1970-01-01
  • 2012-03-01
  • 1970-01-01
  • 2013-10-26
  • 2012-08-07
相关资源
最近更新 更多