讓IE7/8使用CSS中first-child和last-child樣式屬性


項目最終效果如下圖所示:

tab

 

可以看出2個tab之間有一天分割線,這條分割線沒有使用單獨的div或者span。而是使用li標簽的border-right。但是最后一個需要隱藏,否則效果不是很理想。

最原始的寫法是:

   1:  #tabnav li:last-child
   2:  {
   3:  border-right:none;
   4:  }
在常用的瀏覽器中測試都通過了。但是IE7/8中,此樣式不起作用。D右側的邊框還是會出現。我想了一下,那就給最后一個li加一個樣式:
<li id="sub_nav_user" class="dcontent lastitem" ><a >D Content</a></li>
 
lastitem是我們為最后一個li標簽添加的類。然后給lastitem添加border-right:none。以為大功告成,但是忘了項目還與權限有關。管理員可以看到以上A,B,C,D四個選項。但是普通用戶只能看到A和B2個選項。這下問題出來了,我不能直接給B的border-right設置為none。后來想了一個方法就是給C選項設置border-left:1px solid #6655cc。但是樣式需重調,這樣顯得有點麻煩。既然last-child是針對最后一個元素進行樣式設定的,那么我們可以通過jQuery達到同樣的效果。也不需要給最后一個li添加lastitem的樣式了。代碼如下:
$("#tabnav li:last").addClass("lastitem");
 
樣式如下:
#tabnav .lastitem
{
border-right:none;
}

 

這樣當然不是最好的做法。但是我們有時需要轉變思路,這樣有時可以達到事半功倍的效果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM