CSS3筆記之定位篇(二)z-index

知識點1:z-index基礎

  • ? z-index:auto; 默認值
  • ? z-index: <integer> ?整數
  • ? z-index: inherit 繼承
  • ? 不考慮css3 ?還有定位元素的z-index才有作用

知識點2:z-index與定位元素

  • ? 無嵌套:后來居上,哪個大哪個上
//在沒有添加z-index屬性時,如果兩個圖片有重疊,默認為圖片2覆蓋圖片1   “后來居上”
//如果添加了z-index,則那個元素的z-index值大,那個在最上面    “哪個大哪個上”
<img src="圖片1" style="position: relative; z-index: 2">
<img src="圖片2" style="position: absolute; z-index: 1">
  • ? 有嵌套:祖先優先原則(z-index: 數字)
//雖然圖片1的z-index大于圖片2的z-index,但是對于嵌套的定位元素z-index遵循祖先優先原則,所以圖片2優先顯示
<div style="position: relative; z-index: 1"> //祖先元素的z-index不能為auto<img src="圖片1" style="position: relative; z-index: 2">      
</div>
<div style="position: relative; z-index: 1"> //祖先元素的z-index不能為auto<img src="圖片2" style="position: absolute; z-index: 1">      
</div>

知識點3:層疊上下文(stacking-context)和層疊水平(stacking-level)(重要)

  • ? 層疊上下文:

? ?? ?頁面根元素天生具有層疊上下文,稱之為“根層疊上下文”

? ? z-index值為數值的定位元素也具有層疊上下文

? ? 其他屬性

  • ? 層疊水平:層疊上下文中的每一個元素都有一個層疊水平,決定了同一個層疊上下文中元素在z軸上的顯示順序
  • ? 層疊水平和z-index不是一個東西,普通元素也有層疊水平。
  • ? 層疊上下文的特性:
  1. 層疊上下文可以嵌套,組合成一個分層次的層疊上下文。

  2. 每個層疊上下文和兄弟元素獨立:當進行層疊變化或渲染的時候,只需要考慮后代元素。

  3. 每個層疊上下文是自成體系的:當元素的內容被層疊后,整個元素被認為是在父層的層疊順序中。

知識點4:層疊順序 (stacking-order)
? background --> 負z-index --> block塊狀水平盒子 --> float浮動盒子 --> inline/inline-block
? --> z-index:auto或z-index:0?--> 正z-index

知識點5:z-index與層疊上下文

  • ? 定位元素默認z-index:auto可以看成z-index:0
  • ? z-index不為auto的定位元素會創建層疊上下文
  • ? z-index層疊順序的比較止步于父級層疊上下文

知識點6:其他css屬性與層疊上下文

  • ?能創建層疊上下文的的css屬性
<div class="box"><div><img src="logo.jpg"></div>
</div>
<style>.box {display: flex;                     // 1.display: flex 與子元素z-index不為auto 配合使用background:blue}.box > div {z-index: 1}.box > div > img {position: relative; z-index: -1;}
</style><div class="box"><img src="" alt="">
</div>
<style>.box {background:blue;opacity: .5;                       // 2.opacity 不等于 1transform: rotate(15deg);          // 3.transform 不等于 nonemix-blend-mode: screen;            // 4.mix-blend-mode: screenfilter: blur(5px);                 // 5.filter 不等于 noneisolation: isolate;                // 6.isolation: isolateposition: fixed;                   // 7.position: fixed Chrome等bink/webkit內核的瀏覽器使用will-change: transform;            // 8.will-change: transform-webkit-overflow-scrolling: touch  // 9.移動端}.box > div > img {position: relative; z-index: -1;}
</style>

知識點7:z-index與其他css屬性層疊上下文

background --> 負z-index --> block塊狀水平盒子 --> float浮動盒子 --> inline/inline-block
? --> z-index:auto或z-index:0,不依賴z-index的層疊上下文 --> 正z-index

不支持z-index的層疊上下文元素的層疊順序均是z-index:auto級別;

依賴z-index值創建層疊上下文的情況:

  1. position值為relative/absolute或fixed(部分瀏覽器)

  2. display:flex/inline-flex容器的子flex項

知識點8:z-index相關實踐分享

  • 最小化影響原則?

? 目的:避免z-index嵌套層疊關系混亂?
? 原因:
? ? 1. 元素的層疊關系主要由所在的層疊上下文決定?
? ? 2. IE7 中z-index為auto也會創建層疊上下文
? 做法:
? ? 1. 避免使用定位屬性
? ? 2. 定位屬性從大容器平級分離為私有小容器

  • 不犯二準則?

? 目的:避免z-index混亂,出現一山又比一山高的樣式問題
? 原因:多個協作以及后期維護
? 做法:對于任何非浮層元素,避免設置z-index值,z-index值沒有任何道理需要超過2

  • 組件層級計數器

? 目的:避免浮層組件因z-index被覆蓋的問題?
? 原因:
? ? 1. 總會遇到意想不到的高層及元素
? ? 2. 組件的覆蓋規則具有動態性
? 做法:組件層級計數器方法 (JS獲取最大z-index,再加1)

  • 可訪問性隱藏:人肉眼不可見,但是輔助設備可以識別。

? z-index負值元素在層疊上下文的背景之上,其他元素之下

??


?

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

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

相關文章

JSP頁面傳值出現中文亂碼的問題

在接收值的jsp頁面代碼的body里添加&#xff1a; <%request.setCharacterEncoding("utf-8"); %> //這里是設置utf-8為jsp頁面的中文編碼方式 jsp頁面之間傳值&#xff1a; 發送信息的jsp腳本&#xff1a; session.setAttribute("user",rs.getString…

【我所認知的BIOS】— uEFI AHCI Driver(8) — Pci.Read()

【我所認知的BIOS】—> uEFI AHCI Driver(8) — Pci.Read()LightSeed6/19/2014社會一直在變。不曉得是不是社會變的太苦開&#xff0c;而我沒變所以我反而顯得單純了。辦一個居住證。幾年前辦的以為最終能夠一勞永逸的&#xff0c;后來續辦的是發現確實不難了。尼瑪&#xf…

springboot項目集成vue

vue的項目目錄如下&#xff1a; vue項目打包 首先進入項目目錄&#xff1a;cd 項目名 然后執行打包命令&#xff1a;npm run build隨后我們的項目中會多出一個dist文件夾&#xff1a;如下圖 然后將dist文件夾中的所有內容放到eclipse中的src/main/resources/static文件夾里面…

Vue項目啟動webpack報錯Module build failed: Error: No PostCSS Config found in......

自己寫的公司項目&#xff0c;今天需要提交到公司版本庫&#xff0c;可是在本地啟動正常的項目&#xff0c;拷貝到git文件目錄下突然報錯Module build failed: Error: No PostCSS Config found in......&#xff0c;源文件都沒有改動過&#xff01; 然后自己各種百度&#xff…

2.1對 特征歸一化 的一些理解

特征歸一化有很多不同的叫法&#xff0c;比如&#xff1a;特征縮放&#xff0c;Feature Normalization&#xff0c;Feature Scaling 數據標準化&#xff08;歸一化&#xff09;處理是數據挖掘的一項基礎工作&#xff0c;不同評價指標往往具有不同的量綱和量綱單位&#xff0c;這…

逆向工程生成的Mapper.xml以及*Example.java詳解

逆向工程生成的接口中的方法詳解 在我上一篇的博客中講解了如何使用Mybayis逆向工程針對單表自動生成mapper.java、mapper.xml、實體類&#xff0c;今天我們先針對mapper.java接口中的部分方法進行測試&#xff0c;以了解其作用。 先看表結構。。。 從下圖可以看到MBG根據數據表…

SpringBoot之靜態資源訪問

SpringBoot之靜態資源訪問 1.springboot訪問靜態資源的幾種方式 (1)在src/main/resources/目錄下創建 static文件夾 (2)在src/main/resources/目錄下創建 resources文件夾 (3)在src/main/resources/目錄下創建 public文件夾 (4)在src/main/resources/目錄下創建 META-INF/resou…

幾何

題目大意定義一個$S-$四面體表示六條邊由$S$根不同的木棍組成&#xff0c;定義一種染色方法合法當且僅當至少有$S$根木棍被染色且與每個頂點相鄰的三根木棍中至多有一根被染色&#xff0c;求有$N$個$S1,2...N$四面體&#xff0c;求至少染$K$個的方案數。 題解 單獨考慮$S1$四面…

VUE的element-ui的使用

我們在自己的網站當中有的時候會用到element-ui的組建 1.如何安裝element-ui的組件 在命令行工具當中輸入cnpm i element-ui -S, 等待安裝 2.如何在vue當中使用element-ui的組件 1.在main.js中引入element相關的js和cssimport Vue from vueimport ElementUI from element-u…

NodeJS+Express+Mysql+MongoDB之環境配置

node作為一款可以兼容前后端的js語言,在做持久層操作上和Java比較類似,下面就簡單介紹一下項目中的數據庫配置操作. 首選使用express框架自動創建一個測試項目,并在目錄下建立一個專門存放數據庫配置的配置文件,比如:db.js 代碼如下 /* * 數據庫配置文件 * Author: zth * D…

Python 私有變量的訪問和賦值

首先我們這里先描述下&#xff1a;  Python中&#xff0c;變量名類似__x__的&#xff0c;以雙下劃線開頭&#xff0c;并且以雙下劃線結尾的&#xff0c;是特殊變量&#xff0c;特殊變量是可以直接訪問的&#xff08;比如 __doc__, __init__等&#xff09;&#xff0c;不是pri…

SpringBoot入門教程(一)詳解intellij idea搭建SpringBoot

最近公司有一個內部比賽(黑客馬拉松)&#xff0c;報名參加了這么一個賽事&#xff0c;在準備參賽作品的同時&#xff0c;由于參賽服務器需要自己搭建且比賽產生的代碼不能外泄的&#xff0c;所以借著這個機會&#xff0c;本地先寫了個測試的demo&#xff0c;來把tomcat部署相關…

文藝平衡樹 Splay 學習筆記(1)

&#xff08;這里是Splay基礎操作&#xff0c;reserve什么的會在下一篇里面講&#xff09; 好久之前就說要學Splay了&#xff0c;結果茍到現在才學習。 可能是最近良心發現自己實在太弱了&#xff0c;聽數學又聽不懂只好多學點不要腦子的數據結構。 感覺Splay比Treap良心多了—…

JS使用XMLHttpRequest對象POST收發JSON格式數據

JavaScirpt中的XMLHttpRequest對象提供了對 HTTP 協議的完全訪問&#xff0c;使用該對象可以在不刷新頁面的情況與服務器交互數據。XMLHttpRequest是實現AJAX技術的關鍵對象&#xff0c;本站曾整理過一篇介紹該對象的文章&#xff1a; JS使用XMLHttpRequest對象與服務器進行數據…

ShopXO本地化部署安裝之centeros 安裝Apache2.4.6 + PHP7.0.33 + Mysql5.7.25環境

對于centerOS安裝PHP環境&#xff0c;目前網上的帖子都已經比較成熟&#xff0c;具體步驟大家可以自行搜索查看&#xff0c;但是在安裝過程中遇到的一些小細節&#xff0c;這些內容往往需要結合多個帖子才能找到答案&#xff0c;在這里簡單記錄一下。 細節一 如果使用的阿里云…

Spring Boot 擴展點應用之工廠加載機制

Spring 工廠加載機制&#xff0c;即 Spring Factories Loader&#xff0c;核心邏輯是使用 SpringFactoriesLoader 加載由用戶實現的類&#xff0c;并配置在約定好的META-INF/spring.factories 路徑下&#xff0c;該機制可以為框架上下文動態的增加擴展。 該機制類似于 Java SPI…

Vue.js使用-http請求

Vue.js使用-ajax使用 1.為什么要使用ajax 前面的例子&#xff0c;使用的是本地模擬數據&#xff0c;通過ajax請求服務器數據。 2.使用jquery的ajax庫示例 new Vue({el: #app,data: {searchQuery: ,columns: [{name: name, iskey: true}, {name: age},{name: sex, dataSource:…

跨域(Cross-Domain) AJAX for IE8 and IE9

1、有過這樣一段代碼&#xff0c;是ajax $.ajax({url: "http://127.0.0.1:9001",type: "POST",data: JSON.stringify({"reqMsg":"12345"}),dataType: json,timeout: 1000 * 30,success: function (response) {if(response.n6){dosomet…

移動WEB的頁面布局

隨著移動互聯網的日益普遍&#xff0c;現在移動版本的web應用也應用而生&#xff0c;那么在做移動web頁面布局的過程中&#xff0c;應該注意哪些要點呢&#xff1f;現把個人的一些學習經驗總結如下&#xff1a; 要點一、piexl 1px 2dp dp dpr dpi ppi 要點二、viewport io…

AnswerOpenCV(1001-1007)一周佳作欣賞

外國不過十一&#xff0c;所以利用十一假期&#xff0c;看看他們都在干什么。一、小白問題http://answers.opencv.org/question/199987/contour-single-blob-with-multiple-object/ Contour Single blob with multiple objectHi to everyone. Im developing an object shape id…