我有一个左浮动的侧边栏布局,面包屑和主要内容区域在右侧。
如果您在breadcrumbsContainer上检查元素(请参见jsFiddle),您会发现它的左边缘位于浏览器窗口的最左边,但我希望它应该位于侧边栏的右边缘。
我看到还有一些类似的问题,但我还没有找到一个与此问题或答案相同的问题。
以下是HTML:
<div>
<div id="sidebar">
<div class="menuItem">Users</div>
<div class="menuItem">Settings</div>
</div>
<div class="breadcrumbsContainer">
Breadcrumbs go here
</div>
<div class="main">
Main content goes here
</div>
</div>
这里是CSS代码:
#sidebar {
float: left;
width: 200px;
}
.menuItem {
height: 60px;
border-top: 1px solid white;
background: lightBlue;
}
.breadcrumbsContainer {
height: 24px;
background: lightGrey;
}
.main {
background: #f5f5f5;
overflow: scroll;
}
jsFiddle
注意事项
.main div的位置与我的预期相同。
当我简化jsfiddle的情况时,发现将.main div中的overflow:scroll移除会导致它的行为像breadcrumbsContainer。
相反地,将overflow:scroll(overflow:hidden)添加到breadcrumbsContainer会导致它的边框框调整到我期望的位置。
问题
为什么breadcrumbsContainer的边框框不在我期望的位置开始,但是breadcrumbsContainer中包含的文本基本上在我期望的位置?
设置这样的布局的“正确方法”是什么,以使breadcrumbsContainer和.main div不重叠侧边栏,但随着浏览器窗口的调整而调整大小?
我可以使用绝对定位和jQuery resize()事件轻松完成它,但似乎不需要那样做。
谢谢。