你好 你的這個問題 我只能做如下解釋
#第一 如果你寫的是類別樣式 例如 li{color:red;}
#所有的li都會保持紅色字,無法清除繼承樣式。類似程式碼的執行順序預設從上到下,無法改變,除非使用if判斷等控制方法。答案是無法清除。
無法改變程式碼執行順序,瀏覽器解析方式也不可控。
第二 我們如何解決這類問題 例如 我們可以規定區域
假設 2個div 分別上下兩區域 分別 id=a id=b
你如果只想要id=a 部分的li 為紅色 那麼寫法如下
#a li{color:red} 那麼 在id=b區域的li不受影響
我們只能夠透過這種 盡量規定使用區域 來解決這類問題
洗完能幫到你 謝謝
其他屬性還行,透明這個屬性繼承了取消不了。要達到這種效果我見過的辦法有3個,其中1、3是肯定有效的,2不很可靠,你自己琢磨:
1.模擬div全部在aa裡面,把bb、cc、dd都提出來不套在aa中,把aa設定透明屬性,然後把bb、cc、dd用css定位屬性position定位到看上去在aa裡面即可。
2.這是個傳說中的方法:bb、cc、dd任然套在aa中,給bb、cc、dd加上相對定位屬性:position:relative;這個辦法我從來沒試成功過,可能容易和其他屬性衝突就無效了。
3.aa不設定透明度,在ps裡面做半透明的圖片儲存為png24格式,然後用作aa的背景;但這樣產生了個問題,FF、OP及IE高版本都支援png圖片透明,在IE6下面又不支持了,所以IE6下你看到aa的背景將是灰色的,不過這個問題好解決,你自己下:ie6 png透明,即可。
以上是清除CSS繼承樣式的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!