中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

CSS是如何影響瀏覽器元素在文檔中的排列

2024-01-16    分類: 網站建設

之前在項目的過程中遇到了一個問題,某個 div 希望始終顯示在最上面,而在之后的元素都顯示在它之下,當時設置了 z-index 也沒有效果,不知道什么原因,因此找了一下 CSS 相關資料,解決了這個問題的同時,也學習了很多知識,接下來就由成都網站開發工程師簡單的分享一下。

屏幕是一個二維平面,然而 HTML 元素卻是排列在三維坐標系中, x 為水平方向, y 為垂直方向, z為屏幕由內向外方向,我們在看屏幕的時候是沿著 z 軸方向從外向內的。由此,元素在用戶視角就形成了層疊的關系,某個元素可能覆蓋了其他元素也可能被其他元素覆蓋;

成都網站開發

這里有幾個重要的概念:層疊上下文 (堆疊上下文, Stacking Context)、層疊等級 (層疊水平, Stacking Level)、層疊順序 (層疊次序, 堆疊順序, Stacking Order)、z-index、bFC(塊級格式化上下文,block Formatting Context),這些概念共同決定了你看到元素的位置,下面我們就圍繞著這幾個概念來一起學習一下。

聲明:

1、以下定位元素指的是 position:absolute|fixed|relative|sticky

2、以下非定位元素指的是 position:initial|static

3、本文蠻長的,但是如果你可以仔細看完,那對相關概念的掌握就非常好了 (~o ̄▽ ̄)~

層疊上下文 (Stacking Context)

層疊上下文 (堆疊上下文, Stacking Context),是 HTML 中一個三維的概念。在 CSS2.1 規范中,每個元素的位置是三維的,當元素發生層疊,這時它可能覆蓋了其他元素或者被其他元素覆蓋;排在 z 軸越靠上的位置,距離屏幕觀察者越近。

文章 <關于z-index 那些你不知道的事> 有一個很好的比喻,這里引用一下;

可以想象一張桌子,上面有一堆物品,這張桌子就代表著一個層疊上下文。如果在第一張桌子旁還有第二張桌子,那第二張桌子就代表著另一個層疊上下文。現在想象在第一張桌子上有四個小方塊,他們都直接放在桌子上。在這四個小方塊之上有一片玻璃,而在玻璃片上有一盤水果。這些方塊、玻璃片、水果盤,各自都代表著層疊上下文中一個不同的層疊層,而這個層疊上下文就是桌子。

每一個網頁都像一個房間,這個房間就是 ,其他層疊上下文就像這個房間里的桌子,HTML 標簽中的一切都被置于這個房間中。

當給一個元素的 position 值賦為 fixed 或 sticky 值時,你就創建了一個新的層疊上下文,其中有著獨立于頁面上其他層疊上下文和層疊層的層疊層,這就相當于你把另一張桌子帶到了房間里。

成都網站開發

層疊上下文 1 (Stacking Context 1)是由文檔根元素形成的, 層疊上下文 2 和 3 (Stacking Context 2, 3) 都是層疊上下文 1 (Stacking Context 1) 上的層疊層。他們各自也都形成了新的層疊上下文,其中包含著新的層疊上下文。

在層疊上下文中,其子元素按照上面解釋的規則進行層疊。形成層疊上下文的方法有:

根元素 ;

position 值為 absolute|relative,且 z-index 值不為 auto;

position 值為 fixed|sticky;

z-index 值不為 auto 的 flex 元素,即父元素屬性 display:flex|inline-flex;

opacity 屬性值小于 1 的元素;

transform 屬性值不為 none 的元素;

mix-blend-mode 屬性值不為 normal 的元素;

filter、 perspective、 clip-path、 mask、 mask-image、 mask-border、 motion-path值不為 none 的元素;

perspective 值不為 none 的元素;

isolation 屬性被設置為 isolate 的元素;

will-change 中指定了任意 CSS 屬性,即便你沒有直接指定這些屬性的值

-webkit-overflow-scrolling 屬性設置為 touch 的元素;

總結:

1.層疊上下文可以包含在其他層疊上下文中,并且一起組建了一個有層級的層疊上下文;

2.每個層疊上下文完全獨立于它的兄弟元素,當處理層疊時只考慮子元素,類似于 bFC;

3.每個層疊上下文是自包含的:當元素的內容發生層疊后,整個該元素將會在父級疊上下文中按順序進行層疊;

以上關于css影響排列順序屬成都網站建設工程師的個人觀點,大家如果對此有著不同的見解,可以關注公眾號“創新互聯派”給我留言,大家可以交流一下自己的心得體會,共同學習進步。

名稱欄目:CSS是如何影響瀏覽器元素在文檔中的排列
鏈接分享:http://www.2m8n56k.cn/news30/313880.html

成都網站建設公司_創新互聯,為您提供網站改版定制網站微信公眾號自適應網站網站維護網站排名

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都做網站
主站蜘蛛池模板: 日韩精品一区二区在线观看 | 亚洲综合干 | 国产精品久久久久影院 | 性欧美videofree中文字幕 | 美女视频黄a全部免费专区一 | 99视频精品免费99在线 | 久久爱青青草 | 国产精品久久久久毛片真精品 | 综合久久久久久久 | 一级毛片韩国 | 成人伊人 | 日本精品一区二区三区在线视频 | 日韩精品一区二区三区四区 | 99久在线 | 亚洲精品国产一区二区 | 久久99精品综合国产首页 | 欧美日韩一区二区三区免费不卡 | 成人首页 | 中文字幕在线一区二区三区 | 久久亚洲综合中文字幕 | 美女视频大全视频a免费九 美女视频大全网站免费 | 人妖欧美一区二区三区四区 | 亚洲欧洲一二三区机械有限公司 | 欧美成人看片一区二区三区尤物 | 欧美韩国日本 | 美女白浆视频 | 初爱视频教程在线观看高清 | 亚欧美图片自偷自拍另类 | 国产日韩欧美在线观看不卡 | 成人毛片免费播放 | 国产大尺度福利视频在线观看 | 色资源二区在线视频 | 国产伦精品一区二区三区无广告 | 日韩午夜在线视频 | 一本色道久久爱 | 91在线免费观看网站 | 在线视频精品一区 | 美女张开腿让男人操 | 欧美视频一区二区三区四区 | 色网站在线观看 | 窝窝女人体国产午夜视频 |