css層疊規則

来源:https://www.cnblogs.com/Dusks/archive/2020/06/19/13164001.html
-Advertisement-
Play Games

# 從零開始的前端生活 --css層疊規則 層疊上下文 網頁上的元素其實是三維的,類似於高中學的左手坐標系,Z軸就是垂直於屏幕。層疊上下文跟“塊狀格式化上下文”(BFC)類似,只要元素擁有某些特定的css屬性,就會表現出層疊上下文的特點。 層疊順序 前提是重疊在一起,就會按照上圖的規則呈現。 層疊 ...


從零開始的前端生活 --css層疊規則

層疊上下文

網頁上的元素其實是三維的,類似於高中學的左手坐標系,Z軸就是垂直於屏幕。層疊上下文跟“塊狀格式化上下文”(BFC)類似,只要元素擁有某些特定的css屬性,就會表現出層疊上下文的特點。

層疊順序

更完整的7階層疊順序圖

前提是重疊在一起,就會按照上圖的規則呈現。

層疊準則

(1) 誰大誰上:如生效的z-index屬性值,大的就覆蓋小的。

(2)後來居上:當元素的層疊順序一致的時候,比較後面的元素就會覆蓋前面的元素。

層疊上下文創建

普通元素可以添加overflow:hidden;使他成為BFC元素。而層疊上下文也可以添加某些css屬性變成的。

  1. 根層疊上下文指的是頁面根元素。
  2. 對於position為relative/absolute/fixed的元素,當他的z-index不是auto時,就會創建層疊上下文。
  3. css3新屬性
    • 元素為flex佈局元素,同時z-index值不是auto。
    • 元素的opacity不是1
    • 元素的transform值不是none
    • 元素的filter不是none
    • 元素的mix-blend-mode不止normal
    • 元素的isolation不是isolate
    • 元素的will-change屬性值為上面2~6的任意一個
    • 元素的-webkit-overflow-scrolling設為touch

樓上圖片很重要,很多細節。

例子

<div class="box">
    1235543
    <img src="../image/pic02.jpg" alt="" class="img">
</div>
.box {
    width: 300px;
    height: 300px;
    background-color: pink;
    transform: scale(1);
}

.img {
    position: relative;
    z-index: -1;
    top: -10px;
}

很明顯圖片疊在背景上面,看樓上的圖,z-index的負值優先於層疊上下文的background/border,裡面的數字是匿名內聯盒子,由上表可知,內聯盒子優先順序高於z-index負值。

所以效果如下

z-index

結語

看css世界,隱隱約約,懵懵懂懂,恍恍惚惚。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、標準流(普通流/文檔流) 標準流就是標簽按照規定好的預設方式排列 (1)塊級元素會獨占一行,按照從上到下的方式排列 (2)行內元素會按照順序,從左到右的順序進行排列,遇到父元素則自動換行 (3)縱向排列標準流,橫向排列用浮動 2、浮動的簡單應用 (1)讓多個塊級元素水平排列在一行(這裡將行內元素 ...
  • 我們在寫筆試題的時候,經常碰到涉及隱式轉換的題目,例如 "1" + 2 obj + 1 [] == ![] [null] == false 和 == = 叫做嚴格運算符,對象類型指向地址相同或原始類型( 數值、字元串、布爾值)值相同;叫做相等運算符,類型不同會進行轉化再比較,undefined、nu ...
  • document.write() 用法 在JavaScript中document.write()函數可以向文檔寫入HTML表達式或JavaScript代碼,用法“document.write(exp1,exp2,exp3,....)”,該函數可接受任何多個參數,並將其寫入文檔中。 document. ...
  • 什麼是無頭瀏覽器(headless browser)? 無頭瀏覽器是指可以在圖形界面情況下運行的瀏覽器。我可以通過編程來控制無頭瀏覽器自動執行各種任務,比如做測試,給網頁截屏等。 為什麼叫“無頭”瀏覽器? “無頭”這個詞來源於最初的“無頭電腦(Headless computer)”。維基百科關於的 ...
  • 鏈接生成二維碼 1.npm安裝 npm install --save qrcodejs2 2.引入 import QRCode from 'qrcodejs2' 3.生成二維碼 new QRCode('qrcode', { // 傳入容器id text: url, // 鏈接(必填) width: ...
  • 優秀的前端開發工程師要在知識體繫上要有廣度和深度,要具備快速學習的能力。 前端開發工程師不僅要掌握基本的Web前端開發技術,網站性能優化、及一些基礎知識,而且要學會運用各種工具進行輔助開發以及理論層面的知識,包括代碼的可維護性、分層語義模板和瀏覽器分級支持等。 一、前端工程師至少要滿足四類客戶的需求 ...
  • 需求:當按鍵盤enter鍵和鍵盤左右鍵時,左右切換頁面卡片並讀取卡片上的信息 一、獲取鍵盤對應的keycode keyCode 實際鍵值 48到57 0到9 65到90 a到z(A到Z) 112到135 F1到F24 8 BackSpace(退格) 9 Tab 13 Enter(回車) 20 Cap ...
  • 之前我曾寫過如何將canvas圖形轉換成圖片和下載canvas圖像的方法,這些都是在為這個插件做技術準備。 技術路線很清晰,將網頁的某個區域的內容生成圖像,保持到canvas里,然後將canvas內容轉換成圖片,保存到本地,最後上傳到微博。 我在網上搜尋到html2canvas這個能將指定網頁元素內 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...