校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > position:relative/absolute無法沖破的等級

position:relative/absolute無法沖破的等級

熱門標簽:沈陽智能外呼系統排名 移動400辦理電話 荒野大鏢客2地圖標注怎么變中文 山西旅游景地圖標注 武漢人工外呼系統 上古卷軸5地圖標注mod 蘇州通信外呼系統多少錢 北川縣地圖標注 中國地圖標注各省份
注:本文實例在IE5.x下可能會顯示不出來,請使用IE6、IE7、Firefox、Opera等瀏覽器來調試!
前段時間記得好像是誰在群里提出了一個實在是讓大家都覺得很不理解的一個問題: 
復制代碼 代碼如下:

ul>  
li>第一塊/li>  
li>span>第二塊/span>/li>  
li>第三塊/li>  
li>第四塊/li>  
li>第五塊/li>  
/ul> 

如果我我們設定LI為position:relative;設置span為position:absolute;那么我們會發現無論SPAN的z-index值設置得再高都將永遠在后面父級的下面。
復制代碼 代碼如下:

*{margin:0; padding:0; list-style:none;}  
li {width:100px; height:100px; margin:0 5px 0 0; background:#000; float:left; position:relative; z-index:1;}  
li span {width:200px; height:200px; background:#c00; position:absolute; top:0; left:100px; z-index:1000;}  


[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執行]
    提示:您可以先修改部分代碼再運行
試一下很容易發現我們的子級,z-index的值達到了1000的被設定了position:absolut;子級都被檔在了父級的下面。我想了很久,我覺得其根本問題是:設置同樣的position:relative/absolute;同級標簽之間的等級是無法用z-index超越的。我們上面的例子中的第一個LI的等級永遠都要小于后一個LI的等級,所以我們在LI里的子級身上設置了position:absolute;,給了非常高的z-index值。
也許你會這樣來想:只要針對有span的LI設置position:relative;不就好了嗎?非常正確。當其它的LI都不設置position:relative;那么我們需要的那個子級就可以浮在所有的內容之上。但是如果實際上,所有的LI中都要有span,并且屬性都需要一樣怎么辦?當然我們不大會需要有這樣的效果。但是我們需要有這樣的效果:子級全部是隱藏的,當有鼠標反應時出現并且浮在所有的內容之上。我們要知道,這確實是件讓人頭疼的事,因為我們上面見識到了,子級在顯示的時候都被壓在了下一個父級標簽的下面。下面我們來實現一下這個鼠標反應的定位效果:
復制代碼 代碼如下:

ul>  
li>a href="" title="">span>第一塊/span>/a>/li>  
li>a href="" title="">span>第二塊/span>/a>/li>  
li>a href="" title="">span>第三塊/span>/a>/li>  
li>a href="" title="">span>第四塊/span>/a>/li>  
li>a href="" title="">span>第五塊/span>/a>/li>  
/ul>  

我們通過鏈接的鼠標事件來完成這個顯示隱藏效果:
復制代碼 代碼如下:

*{margin:0; padding:0; list-style:none;}  
li {height:100px; margin:0 5px 0 0; float:left; width:100px;}  
li a {position:relative; z-index:1; display:block; height:100px; width:100px;  background:#000;}  
li a:hover {background:#000000;} 
li span {display:none;}  
li a:hover span {display:block; background:#c00; width:200px; height:200px; position:absolute; top:0; left:100px; z-index:1000; }  


[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執行]
    提示:您可以先修改部分代碼再運行
我們設定了a為position:relative;這樣他的子級就會根據父級的左上角為坐標原點進行定位了。然后我們設定span的具體形狀以及定位屬性,然后把他隱藏了。我們再通過A的偽類:hover使得span被激活。我們看一下結果,我們會發現,所有應該在上面的現在全在下面了。那我們怎么解決這個難題呢,其實以CSS想強行突破是不太可能,所以我們反過來想,能不能讓這個沒有被觸發的父級標簽沒有position:relative;屬性,而只是觸發的時候才有級這個父級賦上這樣的值?其實想到這里基本上已經可以解決所有的問題了:
復制代碼 代碼如下:

*{margin:0; padding:0; list-style:none;}  
li {height:100px; margin:0 5px 0 0; float:left; width:100px;}  
li a {display:block; height:100px; width:100px;  background:#000;}  
li a:hover {position:relative; z-index:1; }  
li span {display:none;}  
li a:hover span {display:block; width:200px; height:200px; background:#c00; position:absolute; top:0; left:100px; z-index:1000; }  


[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執行]
    提示:您可以先修改部分代碼再運行
我們只要針對a:hover來設定其屬性為position:relative;就可以了,這樣只有在鼠標觸發的時候A才會被賦于一個相對定位的屬性。這樣就完成可以解決被其它父級標簽所擋的尷尬了。
當然如果不介意IE6或是IE5.X這樣的瀏覽器我們還可以把代碼再做簡化:
復制代碼 代碼如下:

ul>  
li>span>第一塊/span>/li>  
li>span>第二塊/span>/li>  
li>span>第三塊/span>/li>  
li>span>第四塊/span>/li>  
li>span>第五塊/span>/li>  
/ul>  

CSS可以改成這樣:
復制代碼 代碼如下:

*{margin:0; padding:0; list-style:none;}  
li {height:100px; margin:0 5px 0 0; float:left; width:100px; background:#000;}  
li:hover {position:relative; z-index:1;}  
li span {display:none;}  
li:hover span {display:block; width:200px; height:200px; background:#c00; position:absolute; top:0; left:100px; z-index:1000; }  


[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執行]
    提示:您可以先修改部分代碼再運行
原始閱讀:
http://andymao.com/andy/post/67.html
您可能感興趣的文章:
  • css position: absolute、relative詳解
  • Android入門之RelativeLayout、FrameLayout用法分析
  • Position屬性之relative用法

標簽:東莞 遼源 陽泉 喀什 濱州 海東 邯鄲 南充

巨人網絡通訊聲明:本文標題《position:relative/absolute無法沖破的等級》,本文關鍵詞  position,relative,absolute,無法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《position:relative/absolute無法沖破的等級》相關的同類信息!
  • 本頁收集關于position:relative/absolute無法沖破的等級的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 安康市| 喀什市| 通州区| 寿阳县| 西华县| 延津县| 郎溪县| 翼城县| 凌海市| 买车| 石家庄市| 江门市| 咸宁市| 肇州县| 通渭县| 馆陶县| 南涧| 铜梁县| 江门市| 鹰潭市| 建平县| 托克逊县| 上林县| 乐昌市| 丘北县| 营山县| 广平县| 深泽县| 天柱县| 彝良县| 湛江市| 通江县| 岗巴县| 安达市| 桐庐县| 竹北市| 冕宁县| 辽宁省| 夏津县| 双流县| 英山县|