Css 相对与绝对之差
我正在读这篇文章,我不明白为什么相对定位的div会受到主体的影响,而绝对定位的框会忽略它?Css 相对与绝对之差,css,Css,我正在读这篇文章,我不明白为什么相对定位的div会受到主体的影响,而绝对定位的框会忽略它?当它们被定位在另一个元素中时,它们的行为不应该是相同的吗 CSS: body { display: block; margin: 8px; } #box_1 { position: relative; width: 200px; height: 200px; background: #ee3e64; } #box_2 { posit
当它们被定位在另一个元素中时,它们的行为不应该是相同的吗 CSS:
body {
display: block;
margin: 8px;
}
#box_1 {
position: relative;
width: 200px;
height: 200px;
background: #ee3e64;
}
#box_2 {
position: absolute;
top: 0;
left: 100px;
width: 200px;
height: 200px;
background: #44accf;
}
在所示的示例中:
对于relative,relative没有上/下/左/右,所以它会停留在它应该停留的地方。(主体有其自己的边距和由浏览器定义的填充,您可以覆盖这些边距和填充)
对于绝对,我们有顶部和左侧,所以它稍微向上,因为它忽略了任何其他项。基本上,您有四个位置状态,如下所示:
- 静态(默认)
- 相对的
- 固定的
- 绝对的
left:15px
将在其左侧填充15px),但绝对是相对于其父级(即第一个非静态父级)并应用相同属性(left:15px)将导致它从父元素的左边缘偏移15px
这实际上是一项令人着迷的研究,将极大地帮助理解网页布局。上述解释和描述都很好,但对于普通人或初学者来说,很难理解。 很简单 相对:相对类似于无定位。即使您没有使用relative,也会使div如下所示:
margin-left:10px;
它会向左移动,有10px的空间;
同样,如果你喜欢这个:
位置:相对位置
margin-left:10px;
这与没有使用亲属的情况相同。
如果绝对值用于同一序列中的其他div:
位置:绝对位置
margin-left:10px;
它将总共向左移动10+10=20px的余量。
因为其中添加了第二个绝对div的10px和相对div id的10px。
这类似于:
#div1{
float:left;
margin-left:10px;
}
#div2{
float:left;
margin-left:10px;
}
absolute
是进行页面布局的最佳选择。它应该有由CSS导入的左上角和右下角。而relative
是在没有任何CSS标记的情况下完成的这里是位置:绝对和位置:相对的简单解释。
使用绝对位置,我们可以将html元素移动到页面上的任何位置。如果我们不定义任何位置元素,那么它将从body元素获取位置,否则它将从最近定义的位置元素获取位置。
下面是一个例子
在本例中,“div2”的位置来自“div1”元素
<div id='div1' style="position: relative; left: 100px;top: 10px;">
<h1>This is the first position element</h1>
<div id='div2' style=" position: absolute;left: 100px;top: 150px;">
<h2>This is a heading with an absolute position</h2>
</div>
</div>
这是第一个位置元素
这是一个绝对位置的航向
在这种情况下,“div2”从body元素获取位置,因为没有定义位置
<div id='div1'>
<h1>This is the first position element</h1>
<div id='div2' style=" position: absolute;left: 100px;top: 150px;">
<h2>This is a heading with an absolute position</h2>
</div>
</div>
这是第一个位置元素
这是一个绝对位置的航向
通过相对位置,html元素可以从正常位置移动
位置。下面是示例。
在这种情况下,它将从左10px和下10px的位置移动
<div id='div2' style=" position: relative;left: 10px;top: 10px;">
<h2>This is a heading with an absolute position</h2>
</div>
这是一个绝对位置的航向
relative elements due具有left、top等属性,它们确实会影响元素的位置。对于不确定性,我指的是一个示例。