2

我试图让 3 个跨越页面宽度的 div 与顶部对齐。这个想法是:

左分区| 中心区 | 右分区

左右 div 占宽度的 25%,中心占 50%。我正在使用 float 让左右 div 对齐到屏幕的两侧。但是,我的问题是,一旦我将中心 div 设置为 50% ,右 div 不再与顶部对齐。为中心设置 45% 的宽度可以获得对齐顶部的预期效果,但是中心 div 不会占用所有可用空间

演示问题的简单 HTML:

<div class="parent">
<div class="title-bar">Title goes Here</div>
<div class="sidecontent left">Some content</div>
<div class="content">More content and more and more More content and more and more More content and more and more</div>
<div class="sidecontent right">Some Content</div>
</div>

CSS

    .title-bar {
    color: @color;
    background-color: @title-color;
    padding: 5px;
    font-family: @font-family;
    margin-bottom: 10px;
    font-size: 20px;
    text-align: center;
    border: 1px solid #D5D5D5;
    border-radius: 5px;
    }
.left {
    float: left;
}
.right {
    float: right;
}
.sidecontent {
    width: 25%;
    border: 1px solid #D5D5D5;
    display: inline-block;
    //padding: 5px;
    vertical-align: top;
    height: 500px;
    background-color: red;
    overflow-y: auto;
}
.content {
    float: left;
    display: inline-block;
    vertical-align: top;
    width: 50%;
}

这是一个演示问题的 jsFiddle:http: //jsfiddle.net/s6vqC/

任何帮助将不胜感激(我是这个 css 的新手)谢谢。

4

2 回答 2

4

你给了左侧边栏一个边框。如果你给一个边框,它会做 25%+1px。所以这意味着如果你把它们加在一起,它将是 100% 和一些像素,因为你给了它一个边框。25% + 50% + 25% + 边框:1px = 100% + 1px = 整个屏幕宽度 + 1px

于 2013-09-14T00:54:15.020 回答
2

@Chanckjh 是正确的,这是导致错位的边框。

您可以使用它box-sizing: border-box;来防止边框增加元素的宽度。

示例:http: //jsfiddle.net/s6vqC/1/

于 2013-09-14T00:57:47.607 回答