relative學習筆記

relative對absolute的限制作用:

  1. 限制left/top/right/bottom定位:
    父元素使用了relative定位後,使用了absolute的子元素無法越過父元素進行定位;
  2. 限制z-index層級:
    使用了relative定位的同級元素,其本身的z-index值將決定其子元素的z-index層級;
  3. 限制在overflow下的囂張氣焰:
    子元素設置了absolute定位時,其父級元素的 overflow 屬性無法對該子元素進行有效約束。但父級元素再設置relative定位時,會把該子元素的超出部分砍掉。

relative對fixed的限制作用:

  1. 限制z-index層級: 與對absolute限制z-index的作用一樣。

relative自身的定位特性:

  1. 相對自身:即相對於原來自身的位置進行偏移;
  2. 無入侵:即不影響原來的文檔流。(應用:實現自定義拖拽)

relative元素設置了對立屬性:top/bottom 或 left/right 時:

結論:
1. 絕對定位是拉伸;
2. 相對定位是鬥爭。
top會使bottom無效,聲明left後則會導致right無效。

relative與z-index層級:

  1. 提高元素的層疊上下文:鬼畜級別,即相當有效。
  2. 新建層疊上下文與層級控制:
    當元素的z-index爲一個具體的數值(包括0)時,設置了relative後會使元素新建層疊上下文,即元素的子元素層級會被該元素所約束。
    在IE6/7以外的瀏覽器中,當元素的z-index爲auto時,即使設置了relative,元素也無法約束其子元素的層級(即子元素會參考更上級元素的層疊上下文進行層疊排序)。

relative的最小化影響原則:即儘量降低relative屬性對其他元素或佈局的潛在影響

  1. 儘量避免使用relative,子元素直接使用absolute,而父級元素不必要使用relative就可使子元素相對於父級元素進行定位(只要子元素不使用left、top等屬性即可,可使用margin-left、margin-top代替)
  2. 若子元素有很多同級的元素,應當將子元素拿出來與父級元素同級後,再爲其套一父元素,對該新父元素使用relative來實現子元素如右對齊的定位。可避免其原來的同級元素的層級關係被破壞
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章