position:absolute定位不起作用?溢出父元素隐藏不了?的问题
总的原因还是对定位的理解错误。
position:absolute是相对父元素进行绝对定位的,且该父元素必须定义有position的值(relative、absolute、fixed),若父元素没有定义有position,则是相对于body进行定位。
position总的来说分为绝对定位和相对定位。
值 | 描述 |
---|---|
absolute | 绝对定位,生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。并且该父元素必须设置有position属性,可以将position设置为relative。 |
fixed | 绝对定位,生成固定定位的元素,相对于浏览器窗口进行定位。 |
relative | 相对定位,生成相对定位的元素,相对于其正常位置进行定位。 |
static | 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。 |
sticky | 粘性定位,该定位基于用户滚动的位置。 它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。 注意: Internet Explorer, Edge 15 及更早 IE 版本不支持 sticky 定位。 Safari 需要使用 -webkit- prefix (查看以下实例)。 |
inherit | 规定应该从父元素继承 position 属性的值。 |