何时准确使用位置相对

时间:2016-05-09 07:42:41

标签: css css-position

我对css不太专业。我没有给任何职位,并且有像

这样的CSS
#myId{
    margin-left: 10px;
    margin-top: 10px;
}

#myId{
    position: relative;
    left: 10px;
    top: 10px;
}

两者都完全符合我的要求。什么时候我应该准确使用相对位置。有什么优势或劣势超过其他?

1 个答案:

答案 0 :(得分:3)

案例1

你有一个位于/var/log/messages的内部元素,并希望该元素坚持它的父元素。比将absolute应用于父元素。默认情况下,绝对元素从DOM流中弹出,并从最近的相对元素(默认为html)获取位置

案例2

您想移动元素但仍保留在DOM流中。应用position: relative并将其移至position: relative / left / right / top个属性。

案例3

您想要将一个元素放在另一个元素上。静态元素不会生成bottom,因此您需要将其位置设置为z-indexrelativestatic

可能还有其他用例

fixed
.a {
  background-color: #ddd;
  
  left: 50px;
  top: 150px;
  position: relative;
  
  width: 200px;
  height: 200px;
  text-align: center;
}
.absolute,
.a div {
  
  position: absolute;
  left: 50px;
  top: 50px;
  
  width: 100%;
  height: 60px;
  background-color: rgba(250, 0, 0, .4);
}

<div class="a">
  HTML > relative
  <div>HTML > relative > absolute</div>
</div>

<div class="absolute">HTML > absolute</div>
.a {
  position: relative;
  left: -20px;
}
.b {
  margin-left: -20px;
}
.wrapper {
  border-bottom: 2px solid #454545;
}