2012-12-03 58 views
4

我試圖刪除text-decoration:line-through;樣式應用於我的元素,我似乎無法做到這一點。我試過text-decoration:none;但它不起作用。如何刪除CSS line-through

當我將text-decoration:underline;應用於span時,似乎並非取代line-through樣式,而是增加了underline樣式。

我知道我總是可以重寫我的HTML,因此需要line-through的元素有自己的類。我想知道是否有其他替代方案,然後重構我的HTML。

http://jsfiddle.net/wshHW/

<style> 
p { text-decoration:line-through; } 
span { text-decoration:none; } 
</style> 

<p>Foo <span>bar</span></p> 

回答

4

我知道我可以隨時重新寫我的HTML,以便需要line-through元素都有自己的班級。我想知道是否有其他替代方案,然後重構我的HTML。

不是。你看到的行爲完全是by design;祖先總是會將他們的文字裝飾品傳播給某些後代,相反,你不能影響祖先的後代文字裝飾。

目前,雖然text-decoration-skip from the upcoming CSS3 text decoration module看起來很有希望,但重組目前還沒有一個非常可行的替代方案。

+0

Shucks。我希望能避免這種情況。謝謝。 – Jon