【发布时间】:2015-04-11 13:06:22
【问题描述】:
我想使用 position:fixed 修复左侧 div。因此,当我滚动页面时,只有右 div 应该移动,我尝试使用 position:fixed 到左 div,但它浮动在右 div 内容上。如何使左 div 固定到页面而不浮动在右 div 上?
CSS:
#main{width:100%;display:table;table-layout:fixed;border:1px solid red;position:relative; }
ul{list-style:none;padding:0;margin:0;overflow-y:scroll;height:100%;}
#left {
display: table-cell;
width:250px;
// min-width:100px;
vertical-align:middle;
text-align:left;
background:red;
}
#right {
display: table-cell;
width:100%;
vertical-align:middle;
text-align:left;
background-color:#ccc;
}
小提琴:
http://jsfiddle.net/0k698ga2/1/
右 div 必须有 width:100% 因为,有些页面左 div 被隐藏,要覆盖页面右 div 必须有 100%。
【问题讨论】:
-
你已经修复了,它相对于窗口,所以没有考虑其他 div .. 你需要调整另一个右侧 div 的宽度,或者你可以玩@987654326 @
-
你可以使用 CSS calc() :
#right {width: calc(100% - 250px}. -
@Pogrindis 右 div 必须有 100% 的宽度,因为在某些页面中左 div 是隐藏的,所以右 div 应该覆盖整个页面
-
很公平,还请注意
calcthen 可能是一个更好的选择并且非常兼容:caniuse.com/#feat=calc
标签: javascript html css