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伸展到文档宽度,但要求没有定位父元素(不是这种情况,看作#headerposition: 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%和所需的高度。