CSS位置绝对全宽问题
我有2个div和一个dl:
<div id="wrap"> <div id="header"> <dl id="site_nav_global_primary">
这是我的风格:
#wrap { margin:0 auto; width:100%; min-width:760px; max-width:1003px; overflow:hidden; } #header { width:100%; position:relative; float:left; padding-top:18px; margin-bottom:29px; } #site_nav_global_primary { float:right; margin-right:18px; margin-bottom:11px; margin-left:18px; }
现在我想更改site_nav_global_primary具有全屏幕的宽度,而不改变换行和标题。 但是当我尝试:
#site_nav_global_primary { position: absolute; width:100%; top:0px; left:0px; }
导航获得最大1003px宽度的包装的100%。 我希望它伸展到最大限度,而不改变换行和标题div。
这可能吗?
您可以将right
属性都设置为0
。 这将使div伸展到文档宽度,但要求没有定位父元素(不是这种情况,看作#header
是position: relative;
)
#site_nav_global_primary { position: absolute; top: 0; left: 0; right: 0; }
演示在: http : //jsfiddle.net/xWnq2/ ,我删除position:relative;
从#header
您需要添加position:relative
对于#wrap元素。
当你添加这个元素时,所有的子元素将被放置在这个元素中,而不是浏览器窗口中。
为什么你要它比它的容器更宽? 对我来说,如果你不想让它受到束缚的限制,你似乎应该在包含div的范围之外。
我不知道这是你想要的,但试图删除溢出:从#wrap隐藏
将#site_nav_global_primary
设置为固定,并将宽度设置为100%和所需的高度。