2012-12-03 33 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