前段時間記得好像是誰在羣裏提出了一個實在是讓大家都覺得很不理解的一個問題:
代碼:
<ul>
<li>第一塊</li>
<li><span>第二塊</span></li>
<li>第三塊</li>
<li>第四塊</li>
<li>第五塊</li>
</ul>
代碼:
*{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;}
提示:您可以先修改部分代碼再運行
也許你會這樣來想:只要針對有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; }
提示:您可以先修改部分代碼再運行
代碼:
*{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; }
提示:您可以先修改部分代碼再運行
當然如果不介意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>
代碼:
*{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; }
提示:您可以先修改部分代碼再運行