CSS絕對定位的原點:是在border上、padding上還是在content上?


用了那么久的絕對定位,卻一直沒在意一個問題,就是絕對定位的原點,究竟是在盒模型的哪一處。今天想到這個問題,直接搜索沒有找到標准文檔,也沒有搜索到相關的問題,於是決定自己動手實現一下看看,並把這個結果發出來讓搜索引擎的內容變得更充實點。

代碼

<div id="d1">
  <div id="d2"></div>
</div>
body {
  background-color: black;
}
#d1 {
  width: 300px;
  height: 300px;
  margin: 40px;
  border: 40px solid red;
  padding: 40px;
  position: relative;
  background-color: #eee;
}
#d2 {
  width: 50px;
  height: 50px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: yellow;
}

最終效果(在chrome 59下)

之后換了火狐、IE瀏覽器,以及設置box-sizing分別為border-box和content-box,定位的效果也是這樣。

總結

從結果中可以看到,絕對定位的子元素緊緊貼着父元素的內邊框,所以絕對定位的原點是在padding的左上角


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 CSS中的margin、border、padding區別 CSS padding margin border屬性詳解 CSS3 框大小:padding(內邊距) 和 border(邊框) CSS3 放飛自我1——margin,padding,border到底有啥關系? 淺談CSS3中的box-sizing(content-box與border-box) css中,設置百分比后,讓百分比的寬度包括padding和border來計算 在html5中不支持 css-border屬性 css padding 屬性
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM
的cellpadding 和 cellspacing ; 2) 如何用css實現 cellpadding, cellspacing ; 3) tr , th 是 有 border, 沒有 padding 的. 理解CSS邊框border