CSS定位

CSS定位

首先CSS的定位機制有普通流,浮動和絕對定位。
  • position:static 靜態定位 (默認情況下的定位,是沒有效果的。)
  • position:relative 相對定位(相對於原來的位置進行定位,佔用原文檔流的空間)
  • position:absolute 絕對定位(相對於定位了的父級或者body進行定位,一般在父級使用relative進行定位,子級相對於父級進行絕對定位,不佔用原文檔流空間)
  • postion:fixed 相對於瀏覽器窗口定位

屬性偏移量

  • left 距離左側邊距的距離
  • top 距離上側邊距的距離
  • bottom 距離下側邊距的距離
  • right 距離右側邊距的距離
<style>
.d1{
    background-color: red;
    border: 1px solid ;
    width: 70%;
    height: 1000px;
}
.d2{
    background-color: black;
    border: 1px solid ;
    width: 20%;
    height: 150px;
}
.d3{
    background-color: pink;
    border: 1px solid ;
    width: 20%;
    height: 150px;
}
.d4{
    background-color: yellow;
    border: 1px solid ;
    width: 20%;
    height: 150px;
}
</style>
<div class="d1">
    <div class="d2"></div>
    <div class="d3"></div>
    <div class="d4"></div>
</div>

原效果:
在這裏插入圖片描述
給父級加上絕對定位,給第一個子div加上相對定位,給第二個子div加上絕對定位。

實現效果:

在這裏插入圖片描述
可以看到第一個div相對於原來的位置向右偏移了300px,但原來的位置還在,
由於父級進行了相對定位,第二個div就可以相對於父級進行定位,但原位置被後一個div覆蓋。

根據原理,如果父級沒有進行定位,第二個div會根據body定位,我們把父級的偏移換成margin,絕對定位的自己偏移量爲left:0,top:0

效果如下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章