绝对与相对位置宽度&身高

我知道什么是绝对&相对位置,但有些点我仍然不清楚。
供参考

css:

.rel{
位置:相对位置;
背景:红色;
} 
.腹肌{
位置:绝对位置;
背景:蓝色;
}

html:

<div class=“rel”>rel&lt/部门>
<div class=“abs”>abs&lt/部门>

现在的要点是:

  • 相对div自动采用100%宽度,但绝对div仅采用内容宽度。为什么?

  • 当我给出100%高度时,相对div没有影响,但绝对div取100%高度。为什么?

  • 当我给出余量top:30px时,它也是移位绝对div,但当我给出top:30px时,它只是相对div移位。为什么?

  • 当我没有将top:0,left:0赋给绝对div时,它会取高于div高度的值。为什么?

  1. 设置position:absolute会从文档结构的正常流程中删除有问题的元素。因此,除非明确设置宽度,否则它不知道宽度。您可以显式设置width:100%,如果这是您想要的效果

  2. 具有position:relative的元素总体上的行为方式与正常position:static元素的行为方式相同。因此,除非父元素具有定义的高度,否则设置height:100%将无效。相反,绝对定位元素从文档流中移除,因此可以自由调整其包含元素当前的高度

  3. 这可能与HTML中的父元素有关,但除非您提供页面的完整HTML和CSS,否则我无法进一步提供帮助

  4. “顶部”和“左侧”属性的默认值为“自动”。这意味着浏览器将为您计算这些设置,并将它们设置为元素在没有位置:绝对时渲染的位置

发表评论