1,为什么给absolute设置height:100%有作用,给relative设置的话就不会起作用?
2,absolute和relative对子类带有float的元素会有差异?
如果把p1换成relative就不会包裹p3,不知是为什么?
.p1{
border:3px solid red;
position:absolute;
}
.p2{
background:yellow;
width:200px;
}
.p3{
float:left;
width:50px;
height:300px;
background:orange;
}
.p4{
width:100px;
height:100px;
background:blue;
}
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
absolute是绝对定位,定位是从left:0,top:0开始;relative是相对定位,判断定位是通过它的父级对象。要是相对定位和绝对定位组合使用的话,再根据具体情况再议。
relative 是相对父级定位, absolute 是相对上一个有relative属性的元素定位,而当元素的
height:100%有没有效,是根据上一个相对的元素没有设置高度,从而决定当前的元素的height:100%有没有效。如果当前元素被
float,父级元素需要overflow: hidden;才会被撑开,或者用其他办法。我说的有点乱,哈哈,其实很简单的,搞懂它们的特性就OK了。
原来是我的理解错了,是的,
absolute是根据上一个非static属性的元素定位的。