我有一個默認的一個重寫的:hover樣式如下大小,然後它將字體大小更改回8pt。 現在,這似乎是它應該如何工作,但它不會發生在IE7,Firefox,鉻。 (它在IE6中工作)默認答:懸停帶班IE6
更新:在螢火蟲它實際上顯示在a:hover的字體大小已被覆蓋,但我不知道。
任何人有任何想法?因爲樣式被應用 方式
我有一個默認的一個重寫的:hover樣式如下大小,然後它將字體大小更改回8pt。 現在,這似乎是它應該如何工作,但它不會發生在IE7,Firefox,鉻。 (它在IE6中工作)默認答:懸停帶班IE6
更新:在螢火蟲它實際上顯示在a:hover的字體大小已被覆蓋,但我不知道。
任何人有任何想法?因爲樣式被應用 方式
我認爲這是因爲a:hover
比a:link
更具體。
如果未指定原始的a:hover
字體大小,它將從a:link
繼承。但由於有一個a:hover
規範,a.myclass:hover
寧可採取此值比更「一般」a.myclass:link
。
我讀的地方想了a
僞類是「愛恨交加」的::link
,:visited
,:hover
,:active
,一個比以前更具體。如果你定義了a
或:link
的東西,它應該被所有下面的僞類繼承。該值可以被覆蓋,而僞類的特殊性比樣式的定義順序或其他「真實」類連接到鏈接的順序更重要。
它在IE6中的工作方式不同的原因是,IE6做錯了,這不應該是一個驚喜。在解析(可能向後)
差異:
a:hover { font-size: 8pt }
a.myclass:link { font-size: 14px }
a.myclass:hover { }
如何應該是:
每
:hover
,無論.class
,是8PT。
如何IE6的理解是:
:hover
不在同一個班.myclass:hover
。由於沒有爲.myclass:hover
指定大小,因此我們繼承相同類中的下一個更高可用僞類,即.myclass:link
。這使得.myclass:hover
14px。
估計查找重點:
Others IE6
a a
a.class a:link
a:link a:hover
a.class:link a.class
a:hover a.class:link
a.class:hover a.class:hover <-- Lookup starts here, goes up.
這就是,如果你將擴展的類,你會得到:
a{ color:red; font-size:10pt;}
a:hover {font-size:8pt; color:black}
a.myclass{font-size:6pt;text-decoration:none;}
a.myclass:hover {color:red}
現在如果我們擴大這個顯示怎麼回事:
a.myclass{font-size:6pt;text-decoration:none;**color:red**} /* got the color from a - we overrode the font size */
a.myclass:hover {color:red;text-decoration:none;font-size:8pt} /* we got the text-decoration from a.myclass - but a:hover overrides myclass so we got the 8pt from there */
如果你開始在這樣的星座中開始混合全部效果(邊框/填充/邊距)和僅邊側(邊界 - 右側;邊緣 - 頂部;填充 - 左側),這種效果實際上更加怪異和更復雜。
它應該表現出你的螢火什麼重寫它(這將是在樣式部分地方更高) – Alconja 2009-08-05 01:50:26
我想它不是覆蓋它在IE6是痛苦。 – Schotime 2009-08-05 02:16:21