编辑:感谢对位置的解释,正如我所说,我只是想弄明白为什么保证金不起作用而且位置:左边是。 所以根据我的理解,基本上你只能使用边距来定位静态元素,你必须使用其他任何位置:x。正确?
我非常确定这是非常基本的东西,但我刚开始学习定位,而且我正在修改教程代码,我似乎无法掌握这些div内部div表现得很好。
根据我所阅读的内容,该代码不应使内框边距相对于正文移动,因为没有父元素具有绝对位置?如果我使用" left:"财产而不是"保证金:"它就是这样做的。
为了澄清,我只是试图理解为什么#inner相对于#outer定位而不管分配给#outer的位置值。
div {
height: 100px;
width: 100px;
border-radius: 5px;
border: 2px solid black;
}
#inner {
height: 75px;
width: 75px;
background-color: #547980;
position: absolute;
margin-left: 20px;
}
#outer {
height: 1500px;
width: 150px;
background-color: #45ADA8;
position: static;
margin-left: 100px;
}

<div id="outer">
<div id="inner"></div>
</div>
&#13;
结果图片
答案 0 :(得分:1)
位置属性
position
属性指定用于元素的定位方法的类型。
四个不同的position
值:
static
relative
fixed
absolute
<强> How Do They Differ? 强>
1。如果您使用的是static
。
默认情况下,HTML元素定位为静态。
Static
个定位元素不受top
,bottom
,left
和right
属性的影响。
.static {
position: static;
border:solid 1px red;
}
<div class="static">Hello i m static position </div>
2。如果您使用relative
。
设置相对定位元素的top
,right
,bottom
和left
属性会使其远离正常位置进行调整。
.relative1 {
position: relative;
border:solid 1px red;
}
.relative2 {
position: relative;
top: -20px;
left: 20px;
background-color: white;
width: 500px;
border:solid 1px black;
}
<div class="relative1"> hi i m Relative 1</div>
<div class="relative2">hi i m Relative 2</div>
3。如果您使用fixed
。
position: fixed;
的元素位于视口的relative
,这意味着即使滚动页面,它也始终保持在同一位置。 top
,right
,bottom
和left
属性用于定位元素。
fixed
元素不会在页面中留下通常位于其中的空白。
.fixed {
position: fixed;
bottom: 0;
right: 0;
width: 200px;
background-color: gray;
}
<div class="fixed">HI i m fixed div </div>
4。如果您将absolute
与relative
一起使用。
absolute
是最棘手的位置值。 absolute
的行为类似于fixed
,但相对于最近的位置祖先而不是relative
到视口。如果绝对定位的元素没有定位祖先,它会使用文档body
,并且仍然随页面滚动一起移动。请记住,“定位”元素的位置是除static
之外的任何元素。
.relative {
position: relative;
width: 600px;
height: 400px;
border:solid 1px red;
}
.absolute {
position: absolute;
top: 120px;
right: 0;
width: 300px;
height: 200px;
border:solid 1px gray;
}
<div class="relative">
<div class="absolute"> I m Absolute div </div>
</div>
<强> Source by 强>
答案 1 :(得分:0)