幕布斯5013342
2020-02-26 17:57
我是这样理解的,绝对定位就是div移开了,然后被后面的子元素代替了或者说被另外一个div代替了,
而相对定位就是div位置移动了,但是原来的位置不会被别的子元素或者div代替是预留给自己的。(我这样理解对吗?新人求解)
绝对定位不是相对于浏览器窗口进行偏移吗(开始怀疑自己所学知识)
把这道题答案中的position:relative; 改成position:absolute; 你大概就能发现其中的微妙区别了。
在absolute 模型中对<div>位置更改会对其他标签的位置产生影响,但是relative模型相当于在原有的页面上,加了一个滤镜层(top layer);
然后在以之前的坐标为起始点,无论怎样移动,这个层面都只有自己一个标签,自然也就不会影响其他原始层页面上的相邻标签了。
绝对定位:脱离文档流,相对于离他最近的具有定位属性的父元素偏移
相对定位:不脱离文档流,相对于它本身原来的位置进行偏移
固定定位:脱离文档流,相对于浏览器窗口进行偏移
绝对定位,就近原则,即:最近的一个父元素使用了position除static值以外的定位,如果没有找到则参照body。我这么理解的。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>relative样式</title>
<style type="text/css">
#div1 {
width: 200px;
height: 200px;
border: 2px red solid;
position:relative;
left:100px;
top:50px;
}
</style>
</head>
<body>
<div id="div1"></div>
</body>
</html>
相对定位就是相对于自己本身而改变的位置,只随自己上一次的位置发生改变。
绝对定位是相对于最近的已定位的父元素发生位置改变,如果没有已定位的,那么就会相对于body,绝对定位也会脱离文本流
绝对位置是相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口。对上一节中的<div>标签来讲,他没有父级元素,所以是相对于<body>标签,即浏览器窗口进行丁文。
相对元素则是相对与该元素先前的位置去定位
初识HTML(5)+CSS(3)-升级版
1225811 学习 · 18234 问题
相似问题