堆疊上下文

1、堆(層)疊上下文是什么?

官方解釋:層疊上下文是HTML元素的三維概念,這些HTML元素在一條假想的相對(duì)于面向(電腦屏幕的)視窗或者網(wǎng)頁的用戶的z軸上延伸,HTML元素依據(jù)其自身屬性按照優(yōu)先級(jí)順序占用層疊上下文的空間。

一些屬性會(huì)觸發(fā)堆疊上下文,堆疊上下文的定義不清楚。層疊上下文由滿足以下任意一個(gè)條件的元素形成:

①根元素 (HTML),

②z-index 值不為 "auto"的?絕對(duì)/相對(duì)定位,

③一個(gè) z-index 值不為 "auto"的?flex 項(xiàng)目 (flex item),即:父元素 display: flex|inline-flex,

opacity?屬性值小于 1 的元素(參考the specification for opacity),

transform?屬性值不為 "none"的元素,

mix-blend-mode?屬性值不為 "normal"的元素,

filter值不為“none”的元素,

perspective值不為“none”的元素,

isolation?屬性被設(shè)置為 "isolate"的元素,

⑩position: fixed

①①在will-change?中指定了任意 CSS?屬性,即便你沒有直接指定這些屬性的值(參考這篇文章

①②-webkit-overflow-scrolling?屬性被設(shè)置 "touch"的元素。

在層疊上下文中,其子元素同樣也按照上面規(guī)則進(jìn)行層疊。其子元素的 z-index 值只在父級(jí)層疊上下文中有意義。如果a的父層級(jí)比b的父層級(jí)高,那么a中的所有元素都比b中元素層級(jí)高(z-index值無效)。


2、堆(層)疊順序

①background、②border、③塊級(jí)、④浮動(dòng)、⑤內(nèi)聯(lián)、⑥z-index: 0、⑦z-index: +

如果是兄弟元素重疊,那么后面寫的覆蓋前面寫的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,786評(píng)論 1 92
  • 1. 堆疊順序 堆疊順序(stacking order):HTML 內(nèi)元素發(fā)生層疊的時(shí)候的特定垂直順序,即元素在用...
    饑人谷_風(fēng)爭(zhēng)閱讀 3,376評(píng)論 0 9
  • 前言:設(shè)置了z-index:9999;的層疊順序一定高于z-index:0;嗎?很明顯這句話在某些情況下是不成立的...
    EnochQin閱讀 228評(píng)論 0 0
  • 首先我們需要了解css中堆疊順序的概念在沒有觸發(fā)堆疊上下文時(shí),正常的堆疊順序應(yīng)該為:負(fù)z-index<backgr...
    charllote8閱讀 841評(píng)論 0 1
  • 我是一根教鞭,從木頭工廠里來到這,成為了老師打?qū)W生的好幫手。 我每天都只能24小時(shí)待在老師的手上,老師緊握著我...
    汪瑩瑩閱讀 567評(píng)論 0 0