色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

為什么& # 39;t我的絕對/固定位置的元素位于我期望的位置嗎?

林國瑞2年前8瀏覽0評論

我只是在學習CSS中的定位?;谖野l現有用的那篇文章,我開始嘗試。

對于下面的代碼,我不明白為什么絕對灰盒div在它的相對父類之外。我期望灰盒會在容器的左上角。

.container {
  background: lightblue;
  position: relative;
}

.box-orange {
  background: orange;
  height: 100px;
  width: 100px;
  position: relative;
  top: 100px;
  left: 100px;
  z-index: 2;
}

.box-blue {
  background: lightskyblue;
  height: 100px;
  width: 100px;
  /*position: static;*/
}

.box-green {
  background: lightgreen;
  height: 100px;
  width: 100px;
  position: relative;
  top: -105px;
  left: 105px;
  z-index: 2;
}

.box-grey {
  background: grey;
  height: 100px;
  width: 100px;
  position: absolute;
}

<div class="container">
  <div class="box-orange"></div>
  <div class="box-blue"></div>
  <div class="box-green"></div>
  <div class="box-grey"></div>
</div>

為了正確理解這一點,您需要參考官方規范,在那里您可以找到該元素必須滿足的等式:

'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = height of containing block

我們沒有任何邊框和填充,因此在您的情況下,它將只是:

'top' + 'margin-top' + 'height' + 'margin-bottom' + 'bottom' = height of containing block

如果你仔細閱讀,你會發現:

“頂部”和“底部”是“自動”且“高度”不是“自動”,然后將“頂部”設置為靜態位置,將“邊距-頂部”和“邊距-底部”的“自動”值設置為0,并求解“底部”。 因此,在您的情況下,您已經設置了一個高度,并保持頂部/底部為自動,因此頂部將被設置為靜態位置

..更準確地說,“頂部”的靜態位置是從包含塊的頂部邊緣到假設框的頂部空白邊緣的距離,如果其指定的“位置”值為“靜態”,則該假設框應該是元素的第一個框..

簡單來說,如果沒有設置position,就是元素的位置:absolute。

這里有一個簡單的例子來更好地理解

.container {
  background: lightblue;
  position: relative;
  padding:40px 20px;
  display:inline-block;
  vertical-align:top;
  width: 250px;
}


.box-grey {
  background: grey;
  height: 100px;
  width: 100px;
  position: absolute;
}

.box-green {
  height:20px;
  background:green;
}

<div class="container">
  <div class="box-green"></div>
  <div class="box-grey" style="position:static;">I am static</div>
</div>

<div class="container">
  <div class="box-green"></div>
  <div class="box-grey">I am absolute</div>
</div>

您必須始終設置top:0;左:0;在絕對定位的元素上(或者你想要的任何值,比如上、右、下、左)。

首先,元素是相對于它的第一個定位(非靜態)祖先元素定位的。

在這種情況下,絕對位置適用于同級,而不適用于上級。

關于祖先和兄弟姐妹,有一個很好的文檔:祖先和兄弟姐妹

.container {
  background: lightblue;
  position: relative;
}

.box-orange {
  background: orange;
  height: 100px;
  width: 100px;
  position: relative;
  top: 100px;
  left: 100px;
  z-index: 2;
}

.box-blue {
  background: lightskyblue;
  height: 100px;
  width: 100px;
  /*position: static;*/
}

.box-green {
  background: lightgreen;
  height: 100px;
  width: 100px;
  position: relative;
  top: -105px;
  left: 105px;
  z-index: 2;
}

.box-grey {
  background: grey;
  height: 100px;
  width: 100px;
  position: absolute;
}

<div class="container">
  <div class="box-grey"></div>
  <div class="box-orange"></div>
  <div class="box-blue"></div>
  <div class="box-green"></div>
</div>