如何移除CSS中的删除线

10

我正在尝试去除应用于我的元素的 text-decoration: line-through; 样式,但似乎无法做到。我已经尝试使用 text-decoration: none;,但它不起作用。

当我将 text-decoration: underline; 应用于 span 时,似乎浏览器会添加 underline 样式来代替 line-through 样式。

我知道我可以重写我的 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>
1个回答

9
我知道我总是可以重新编写我的HTML,使需要line-through的元素具有自己的类。除了重新组织我的HTML之外,我想知道是否有其他替代方案。
实际上没有。您看到的行为完全是按设计的; 祖先将始终将其文本装饰传播到某些后代,反过来,您无法从后代中影响祖先的文本装饰。
目前,没有很切实可行的替代方案,尽管即将推出的CSS3文本装饰模块中的text-decoration-skip看起来很有前途。

真遗憾,我本来希望能够避免那个。谢谢。 - Jon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接