css - 如何拥有固定左/右、流动中间和固定页脚的 3 列布局?

标签 css html fluid-layout

我怎样才能有类似这样的布局?

我见过一些不太适合我的解决方案。我看到的示例和评论表明这是不可能的。 (图中缺少中间的溢出自动)。 enter image description here

物有所值:这是我目前的 fiddle (我决定试用一张 table ,hrmmmm)。

http://jsfiddle.net/valamas/m8R43/6/

附加: 评论中提到的打印屏幕。添加页眉后向下拖动/选择页面时发生。请参阅:http://dabblet.com/gist/3753308 enter image description here

最佳答案

您可以使用普通的 div。

一个包装器,三个内部 div,分别用于左侧、中间和右侧。包装器 div 一个页脚。

<div id="wrapper">
    <div id="leftSide">
        left
    </div>
    <div id="middle">
        middle
    </div>
    <div id="rightSide">
        right
    </div>
</div>
<div id="footer">
        footer
    </div>

然后你使用display: table;和 table-cell; 在包装器及其内部 div 上:

#wrapper
{
    width: 100%;
    height: 400px; /*whatever*/
    display: table;
    padding: 0;
    margin: 0;
}

#left,
#middle,
#right
{
    display: table-cell;
}

设置左右元素的宽度,中间会神奇地填满空间。

#left
{
    width: 100px;
}

#middle
{
    background: #00f;
}

#right
{
    width: 200px;
}

display: table;table-cell; 样式模仿表格的行为,但允许标记成为语义元素。

除IE<=7外所有浏览器均支持。

http://jsfiddle.net/Kyle_Sevenoaks/m8R43/9/

关于css - 如何拥有固定左/右、流动中间和固定页脚的 3 列布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12489909/

相关文章:

Jquery - 滚动到顶部

jquery - 调整浏览器大小时的菜单按钮

html - 如何旋转图片而不重叠?

css - 当我们将 float 赋予父元素以清除 float 时,为什么 float 与其他选项的行为不同?

javascript - javascript 中的背景位置不起作用

html - 调整到屏幕高度的图像高度

html - 如何在 Chrome 和 Safari 中指定分页符?

html - CSS - 具有最小宽度和最大宽度的多列

javascript - 我在使用流畅的布局时遇到问题

html - 网页右侧出现奇怪的空白