.main
{
background-color:#669;
width:1200px;
margin-left:auto;
margin-right:auto;
height:1000px;
}
.content
{
background-color: #CCF;
width:100%;
height:1000px;
margin-top:5%;
position: absolute;
}
如果您看到主要类的宽度为1200px
,并且我希望每个div
都适合1200px
。
我将内容类的宽度设置为100%
,假设它将遇到1200px
作为其最终限制。
但是,它没有发生。它实际上是从主类延伸并占据整个页面?
答案 0 :(得分:2)
设置position: absolute;
会将其从正常流程中取出,并且是元素宽度不受父项约束的方式之一。
答案 1 :(得分:1)
您必须将position: relative
添加到容器中,以限制absolute
定位的子元素不超过它的大小。
绝对定位
相对定位的元素仍然被认为是在 文档中元素的正常流动。相反,一个元素 绝对定位的是从流程中取出并因此占用 放置其他元素时没有空间。绝对定位 元素相对于最近定位的祖先定位。如果一个 定位的祖先不存在,使用初始容器。
.main
{
background-color:#669;
width:1200px;
margin-left:auto;
margin-right:auto;
height:1000px;
position: relative;
}
.content
{
background-color: #CCF;
width:100%;
height:1000px;
margin-top:5%;
position: absolute;
}

<div class="main"><div class="content"></div></div>
&#13;
答案 2 :(得分:0)
那是因为定位是绝对的,所以容器不在页面流中而且不再受其父元素的影响。
答案 3 :(得分:0)
position: absolute;
这意味着无论你的.content类元素不依赖于其他div。尝试将此转换为亲戚或其他东西。这应该有用。