CSS元素定位

定位指的是更改元素的默認排列方式

1. 普通流定位(文檔流定位)

默認模式排列,塊級元素從上到下,行級元素從左到右

2. 浮動定位

float:left/right/none;
  • 特點:

浮動元素脫離文檔流,不在佔據空間。如果一行顯示不下,會自動換行(可能被卡主),添加了浮動的元素會變成塊級元素(也符合行內塊的特點),並且也可以設置margin屬性。

  • 影響:
  1. 元素浮動會由於脫離了自身的文檔流,影響後續元素佈局
  2. 添加了浮動的元素會影響父元素的高度
  • 解決方案:
  1. 清除自身元素前面的浮動
  2. 給父元素設置高度,但是大部分情況下高度不固定(不推薦)
  3. 給父元素加浮動,但同時也會影響父元素的後續元素(不推薦)
  4. 在父元素的最後添加一個空標籤(必須爲塊級元素),並且設置屬性clear:both;但如果頁面空標籤多了,會影響性能
  5. 給父元素設置overflow:hidden/auto;
  6. 給父元素設置如下屬性(推薦使用)
:after {
content:"";
display:block;
clear:both;
height:0;
line-height:0;
visibility:hidden;
}

3. 相對定位

position:relative;

保留自身空間(脫離文檔流),相對於原來位置定位。並配合偏移屬性left/right/top/bottom一起使用。

4. 絕對定位

position:absolute;

不保留自身空間,相對於離自身最近的已定位的祖先元素進行定位,如果找不到,就相對body進行定位。並配合偏移屬性left/right/top/bottom一起使用。

5. 固定定位

position:fixed;

永遠相對於瀏覽器頁面進行定位,並配合偏移屬性left/right/top/bottom一起使用。

6.彈性佈局定位

display:flex;

彈性定位是一種新的定位方式,他自身具有一些計算能力,可以減少在佈局時的很多計算問題,本文不多做介紹。詳情語法點擊這裏

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