2012-04-12 74 views

回答

4

你需要給:after僞元素position:absolute;,並給它margin來接班。此外,錨點要求display:inline-block;才能使:after內容正確顯示。

參見:http://jsfiddle.net/ECFBR/

+2

這沒有任何區別,例如,IE9。 – thirtydot 2012-04-12 11:17:40

+0

你說得對,似乎在Chrome和Firefox中工作,但不是IE。也許有沒有一個完全基於CSS的解決方案,這個問題 – 2012-04-12 11:24:44

+0

我不認爲有這個問題。我想起了以前的這個問題:http://stackoverflow.com/questions/5434819/cannot-undo-text-decoration-for-child-elements – thirtydot 2012-04-12 11:25:28

6

處理最簡單的方法就是換一個span圍繞在每個鏈接的文字:

<a href="#"><span>test</span></a> 

:hover只有span給出text-decoration: underline

a:hover span {text-decoration: underline} 

參見:http://jsfiddle.net/thirtydot/3N9vs/27/

類似的舊的問題:Cannot undo text-decoration for child-elements
也與此有關:CSS text-decoration property cannot be overridden by child element

+1

在我的答案中提到的文字裝飾的傳播適用於僞元素好吧,因爲他們生成的盒子是'a'元素盒子的孩子。不過,不太清楚爲什麼Josh的解決方案可以在Chrome和Firefox中使用。 – BoltClock 2012-04-12 11:31:21