CSS層疊順序

介紹

在 CSS 中,元素的層疊順序決定了當多個元素重疊時(跟布局沒有完全的關系,也就是說層疊順序只會在幾個疊放元素上進行比較,而不會改變布局),哪個元素顯示在最上面,哪個元素顯示在最下面。

默認情況下,元素的層疊順序是由它們在 HTML 中出現的順序決定的——后出現的元素會覆蓋前面元素的顯示區域。但 CSS 提供了多個方式來調整這個順序,確保元素按照特定的需求進行堆疊。

  1. 視覺層疊

在瀏覽器渲染頁面時,如果多個元素的位置發生重疊,瀏覽器會根據它們的“層疊順序”來決定哪個元素顯示在上面。一般來說,后面的元素會覆蓋前面的元素,但我們可以通過調整 z-index、position 等屬性來改變這種默認行為。

  1. 默認層疊順序

默認情況下,元素的層疊順序是根據它們在 DOM 中的位置確定的。一個元素的層疊順序比它前面的元素要大。如果沒有特殊設置,后出現的元素會覆蓋先出現的元素。

層疊順序控制

1. z-index

z-index 控制的是元素的層疊順序,數值大的元素會顯示在數值小的元素上面。z-index 只對定位元素(position:relative | absolute | fixed | sticky)生效。默認情況下 z-index 為 auto , auto 時他們的堆疊順序是由文檔順序決定。 auto 屬性就是計算屬性的最終值。設置為 auto 屬性的元素在層疊順序上會相對較弱,會按照文檔流層疊。

2. position

position 屬性是影響層疊順序的一個關鍵因素。只有在元素的 position 屬性設置為 relative、absolute、fixed 或 sticky 時,z-index 才會生效。如果一個元素沒有設置 position(即默認為 static),那么它的 z-index 就不會生效,元素會根據文檔順序進行顯示。

它的層疊只會因為 z-index 而有差別,不會因為是否脫離文檔流而提升層疊性。(只有 z-index 相同時才由文檔流決定)

3. z-index和堆疊上下文

當一個元素的 position 被設置為 relative 、 absolute、 fixed 或 sticky,并且該元素有一個非 auto 的 z-index 值時,瀏覽器會創建一個新的堆疊上下文 (stacking context) 。堆疊上下文中的元素的 z-index 值僅在其所在的上下文內有效,而與外部的元素無關。

基本層疊順序

從下到上依次為:

  1. 背景和邊框:元素的背景和邊框處于最底層。
  2. 負 z-index 值元素z-index 設為負數的定位元素(如 position: relativeposition: absoluteposition: fixedposition: sticky)會位于普通元素之下。
  3. 塊級元素:普通的塊級元素按文檔流順序依次堆疊。
  4. 浮動元素:浮動元素會覆蓋普通塊級元素。
  5. 行內元素:行內元素會覆蓋浮動元素和塊級元素。
  6. z-index 為 0 或 auto 的定位元素:定位元素但 z-index0 或者 auto 時,按文檔流順序堆疊在其他元素之上。
  7. 正 z-index 值元素z-index 設為正數的定位元素會位于其他元素之上,z-index 值越大,越處于上層。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/74160.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74160.shtml
英文地址,請注明出處:http://en.pswp.cn/web/74160.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數制——FPGA

1、定點數 定點數的三種表示方式: 原碼:符號位 絕對值 表示方法 反碼:正數的反碼表示 與原碼表示一致,負數的反碼表示 除符號位,其他位全都取反 補碼:正數的補碼表示 與原碼表示一致,負數的補碼…

在用redis當中可能遇到的問題解決方案以及redis中的一些名詞解釋

在用redis當中可能遇到的問題解決方案以及redis中的一些名詞解釋 Redis篇一、緩存穿透:解決方案:緩存空數據布隆過濾器 二、緩存擊穿解決方案互斥鎖,強一致性,性能差,速度慢邏輯過期,數據不同步&#xff0c…

一文詳解QT環境搭建:Windows使用CLion配置QT開發環境

在當今的軟件開發領域,跨平臺應用的需求日益增長,Qt作為一款流行的C圖形用戶界面庫,因其強大的功能和易用性而備受開發者青睞。與此同時,CLion作為一款專為C/C打造的強大IDE,提供了豐富的特性和高效的編碼體驗。本文將…

【區塊鏈安全 | 第二十四篇】單位和全局可用變量(二)

文章目錄 單位和全局可用變量(Units and Globally Available Variables)特殊變量和函數1. 區塊和交易屬性2. ABI 編碼和解碼函數3. bytes 成員函數4. string 成員函數5. 錯誤處理6. 數學和加密函數7. 地址類型成員函數8. 與合約相關9. 類型信息 單位和全…

一種監控錄像視頻恢復的高效解決方案,從每一幀中尋找可能性

該軟件旨在恢復從監控設備中刪除或丟失的視頻。該程序經過調整以處理大多數流行供應商的閉路電視系統中使用的專有格式,并通過智能重建引擎進行了增強,能夠為監控記錄提供任何通用解決方案都無法實現的恢復結果。如果不需要持續使用該軟件,則…

網紅指路機器人是否支持環境監測功能?

嘿呀,你可知道?如今的叁仟網紅指路機器人那可太牛啦!它們可不單單局限于為行人指明方向,還紛紛兼職當起了 “環境小衛士”,為咱們的城市生活注入了前所未有的超智能便利。就拿那個依托叁仟智慧桿打造的數智指路機器人來…

Navicat導出mysql數據庫表結構說明到excel、word,單表導出方式記錄

目前只找到一張一張表導出的方式 使用information_schema傳入表名查詢 字段名根據需要自行刪減,一般保留序號、字段名、類型、說明就行 SELECT COLUMNS.ORDINAL_POSITION AS 序號, COLUMNS.COLUMN_NAME AS 字段名, COLUMNS.COLUMN_TYPE AS 類型(長度), COLUMNS.N…

MySQL主從數據庫搭建

此方案可適用于Centos 7、OpenEuler、Ubuntu操作系統。 在國產銀河麒麟V10中,虛擬機中啟動的麒麟系統使用當前方案并未遇到問題,但是在服務器上安裝時,執行到初始化時出現了找不到依賴問題(目前已解決安裝問題),后續我會繼續更新該問題解決方案。 1. 創建主、從安裝目錄…

`git commit --amend` 詳解:修改提交記錄的正確方式

文章目錄 git commit --amend 詳解:修改提交記錄的正確方式1. 修改提交信息2. 補充遺漏的文件3. 結合 --amend 進行交互式修改4. 已推送提交的修改總結 git commit --amend 詳解:修改提交記錄的正確方式 git commit --amend 用于修改最近一次的提交&…

為什么package.json里的npm和npm -v版本不一致?

這個情況出現是因為package.json里的 npm 版本和系統實際使用的 npm 版本是兩個不同的概念。讓我來解釋一下: 原因解釋 全局 npm vs 項目依賴: npm -v顯示的是系統全局安裝的 npm 版本(位于/usr/bin/npm或類似路徑)package.jso…

python系統之綜合案例:用python打造智能詩詞生成助手

不為失敗找理由,只為成功找方法。所有的不甘,因為還心存夢想,所以在你放棄之前,好好拼一把,只怕心老,不怕路長。 python系列之綜合案例 前言一、項目描述二、項目需求三、 項目實現1、開發準備2、代碼實現 …

Java常用工具算法-1--哈希算法(MD5,SHA家族,SHA-256,BLAKE2)

1、概述 哈希算法(Hash Algorithm),又稱散列算法,是一種將任意長度的輸入數據(明文)轉換為固定長度的輸出(哈希值/摘要)的數學算法。 哈希值通常被稱為摘要(Digest&…

OpenMCU(五):STM32F103時鐘樹初始化分析

概述 本文主要描述了STM32F103初始化過程系統時鐘的初始化,主要描述了系統時鐘的初始化,AHB總線時鐘,APB總線時鐘等的初始化。 硬件板卡3d圖 時鐘樹 STM32F103的時鐘樹,如下所示: 時鐘源選擇 從STM32F103的時鐘樹框圖,我們可以…

【qt】文件類(QFile)

很高興你能看到這篇文章,同時我的語雀文檔也更新了許多嵌入式系列的學習筆記希望能幫到你 : https://www.yuque.com/alive-m4b9n 目錄 QFile 主要功能QFile 操作步驟QFile 其他常用函數案例分析及實現功能一實現:打開文件并顯示功能二實現:另…

基于AT89C52單片機的輪胎壓力監測系統

點擊鏈接獲取Keil源碼與Project Backups仿真圖: https://download.csdn.net/download/qq_64505944/90545655?spm1001.2014.3001.5503 功能介紹: 采用MPX4115壓力傳感器進行輪胎壓力檢測;使用LCD液晶顯示器顯示輪胎壓力;若壓力過…

shell腳本--MySQL簡單調用

實現功能 增 數據庫的創建,數據表的創建已經實現 創建用戶 刪 刪除數據庫, 刪除庫下的某個表, 刪除某個用戶 改 暫無 查 查看所有的數據庫, 查看某個庫下的所有數據表, 查看某個表的結構, 查…

計算機網絡 OSI參考模型

目錄 OSS七層 OSI通信過程1 OSI通信過程2 應用層 表示層 會話層 傳輸層 網絡層 數據鏈路層 物理層 OSS七層 OSI通信過程1 OSI通信過程2 應用層 表示層 會話層 傳輸層 網絡層 數據鏈路層 物理層

2025年華為HCIP題庫分享

1101、 【拖拽題】OPSF鄰接關系建立的過程中需要使用不同的報文,那么請分別將以下各個狀態和該狀態使用的報文聯系起來。 答題格式為:11 22 33 43 正確答案:【12】【21】【24】【33】 解析: 建立鄰居關系 RouterA的一個連接到廣…

DIskgenius使用說明

文章目錄 一、概述1. 軟件簡介2. 系統要求 二、核心功能1. 分區管理(1) 查看磁盤分區(2) 創建與刪除分區(3) 調整分區大小(4) 格式化分區 2. 數據恢復(1) 恢復已刪除文件(2) 恢復丟失分區(3) 恢復誤格式化分區 3. 磁盤復制(1) 克隆磁盤(2) 磁盤鏡像 4. 文件操作(1) 文件復制與移…

linux--------------進程控制(上)

1.進程創建 1.1fork函數初識 在linux中fork函數是?常重要的函數&#xff0c;它從已存在進程中創建?個新進程。新進程為?進程&#xff0c;?原進 程為?進程。 #include <unistd.h> pid_t fork(void); 返回值&#xff1a;?進程中返回0&#xff0c;?進程返回?進程id…