国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

CSS 層疊加的5條原則

2024-07-11 08:45:19
字體:
供稿:網(wǎng)友

首先明確幾點(diǎn)在文中所需要用到的概念:

  1. 靜態(tài)定位:position:static(為position屬性的默認(rèn)值)。
  2. 動態(tài)定位:position:relative或position:absolute或position:fixed。
  3. 祖元素:任意包含該元素的元素。
  4. 父元素:直接包含該元素的祖元素。
  5. 同輩元素:擁有共同的父元素的元素。

注:這些概念為作者自定義,僅用于本文。

引用:

關(guān)于同輩元素是個非常關(guān)鍵的詞,這里還需要詳細(xì)解釋一下。

  1. <div>
  2.     <div></div>
  3.     <div id="a"></div>
  4.     <div></div>
  5.     <div></div>
  6.     <div></div>
  7.     <div></div>
  8. </div>
  9. <div id="f">
  10.     <div></div>
  11.     <div id="b"></div>
  12.     <div id="c"></div>
  13.     <div></div>
  14.     <div></div>
  15.     <div></div>
  16. </div>

在這個例子中,div#a與div#b并不是“同輩元素”,只有像div#b和div#c這樣擁有同樣父體div#f的的元素才能叫“同輩元素”。

引用結(jié)束

接下來看看這五條法則

法則一:同輩元素定位方式相同,且無z-index設(shè)置時,html靠后者居上。

法則二:同輩元素同為動態(tài)定位時,且有z-index設(shè)置時,z-index值大者居上。

 

 猛點(diǎn)這里測試

法則三:同輩元素定位方式不同時,動態(tài)定位居上。

猛點(diǎn)這里測試

法則四:非同輩元素,任意一者及其祖元素不具備動態(tài)布局時,html靠后者居上。

 

猛點(diǎn)這里測試

法則五:【重要】非同輩元素,任意一者或其祖元素?fù)碛袆討B(tài)定位時,同時各自向上尋找動態(tài)定位的祖元素,并分別從中拿出具備最高級別的祖元素(或其本身)進(jìn)行比較。 

  1. <div id="ab" style="position:absolute;">
  2.     <div id="a" style="position:relative; z-index:100;">
  3.         <div id="a_inner1">
  4.             <div id="a_inner2">
  5.                 <div id="a_inner3" style="position:relative; z-index:98;">
  6.                     <div id="a_inner4">
  7.                         <div id="a_inner5">
  8.                         </div>
  9.                     </div>
  10.                 </div>
  11.             </div>
  12.         </div>
  13.     </div>
  14.     <div id="b">
  15.         <div id="b_inner1">
  16.             <div id="b_inner2">
  17.                 <div id="b_inner3" style="position:relative; z-index:99;">
  18.                     <div id="b_inner4">
  19.                     </div>
  20.                 </div>
  21.             </div>
  22.         </div>
  23.     </div>
  24. </div>

 

情況1:子元素的z-index無論多大,父元素大者居上。

情況2:父元素居下,子元素也可以居上。

情況1、情況2結(jié)合擴(kuò)展比較。

其實(shí)前四點(diǎn)都是基礎(chǔ),只有第五點(diǎn)比較難于理解,這里詳細(xì)解釋一下:

在這個例子中,我們來比較div#a_inner5和div#b_inner4的層疊關(guān)系。
到它們所共同擁有的祖元素div#ab的下一級為止,div#a_inner5的祖元素包括:div#a,div#a_inner1,div#a_inner2,div#a_inner3,div#a_inner4;div#b_inner4的祖元素包括:div#b,div#b_inner1,div#b_inner2,div#b_inner3。
然后分析它們的祖元素中具有動態(tài)定位的:div#a_inner5的祖元素中含有動態(tài)定位的元素有:div#a,div#a_inner3;div#b_inner4的祖元素中含有動態(tài)定位的元素有:div#b_inner3。
然后再拿出最高級進(jìn)行比較:div#a > #div#b_inner3。

父元素居下,子元素也可以居上的情況,則是利用非同輩元素在祖元素具備動態(tài)布局時,其比較已經(jīng)與position:static無關(guān),而其祖元素卻可以通過html的位置來進(jìn)行比較。

引用結(jié)束

當(dāng)然,有時候還存在特例,比如flash、比如ie6中的select無法遮住,這些都屬于異常情況,大家可以自己搜索一下相關(guān)文章。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 郁南县| 永吉县| 张掖市| 绥芬河市| 达拉特旗| 资兴市| 和龙市| 同心县| 驻马店市| 大渡口区| 卓尼县| 吴堡县| 拉萨市| 惠水县| 辽宁省| 新乐市| 永昌县| 连城县| 德令哈市| 汽车| 台中市| 彩票| 砚山县| 涟水县| 黎平县| 原平市| 南靖县| 汶上县| 渝北区| 信丰县| 阳西县| 晋州市| 长寿区| 闻喜县| 海兴县| 揭西县| 资阳市| 阳曲县| 正阳县| 蒙阴县| 罗江县|