CSS 三列标题

标签 css

我遇到以下与三列标题相关的问题。

我需要中间列的宽度为 960px 并居中。当文档宽度高于960px时,其他div列会出现,其宽度将取决于超出的宽度。

这是一张图片http://www.vanara.es/stack/Header-layout.png

标题的侧边 block 将在右侧包含背景颜色,在左侧包含重复 x 的图像。

编辑:它应该兼容 IE9/8/7。

http://jsfiddle.net/j6ReH/1/

<div class="wrapper">
    <div class="left"></div>
    <div class="central"></div>
    <div class="right"></div>
</div>

.wrapper {
    width:100%;
    height:50px;
}
.central {
    width:960px;
    height:50px
    margin:0 auto;
    float:none;
    background-color:#CCCCCC;
}
.left {
    width:auto;
    height:50px
    float:none;
    background-color:#ABC123;
}
.right {
    width:auto;
    height:50px
    float:none;
    background-color:#123456;
}

最佳答案

只需将 display: table; 应用于 wrapper 并将 display: table-cell; 应用于子项。

演示:http://jsfiddle.net/j6ReH/2/

HTML

<div class="wrapper">
    <div class="left"></div>
    <div class="central"></div>
    <div class="right"></div>
</div>

CSS

.wrapper {
    width:100%;
    height:50px;
    display: table;
}
.central {
    width:360px;
    height:50px;
    background-color:#CCCCCC;
    display: table-cell;
}
.left, .right {
    height:50px;        
    display: table-cell;
    background-color:#ABC123;
}
.right {
    background-color:#123456;
}

注意

它与 > IE7 兼容,对于 IE6IE7 您可能需要查看此解决方法:http://tanalin.com/en/projects/display-table-htc/

关于CSS 三列标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16277272/

相关文章:

html - 如何在移动和桌面设备中显示不同的图像

css - 在同一行文本上对齐不同的字体大小以使其看起来不错?

javascript - 实时搜索中没有列出隐藏的部分?

javascript - 每次调用 JavaScript 函数时启动 CSS 动画?

image - CSS3 : how to skew x-angles of image in different directions using only 2D transform?

html - Firefox:100% 和内部填充?

javascript - Angularjs 指令用于确定 <div>

javascript - FabricJS 渐变颜色值

html - 没有内容换行的 float 可变宽度列表项

jquery - 如何使用 Angular Bootstrap UI 在加载时填充第一个选项卡的内容