作者:msf6688 | 来源:互联网 | 2024-10-27 20:54
在CSS中,父元素设置的文本装饰属性(如下划线、删除线等)通常不会被子元素自动继承或覆盖。为了实现更精细的控制,开发者需要明确地为子元素指定相应的文本装饰属性,以确保样式的一致性和预期效果。这涉及到对CSS层叠和继承机制的深入理解,以及合理运用选择器优先级来实现所需的设计目标。
从[text-decoration
规格]:
后代元素的“文本装饰”属性对祖先的装饰没有任何影响。
进一步引用(不过我在规范中找不到此文本):
内联框上的文本装饰绘制在整个元素上,跨越任何后代元素,而无需注意它们的存在。
还有另一句话,CSS3似乎引入了text-decoration-skip
,旨在通过将属性应用于后代(在您的情况下为
)来解决此问题:
此属性指定影响元素的文本修饰必须跳过元素内容的哪些部分。它控制元素绘制的所有文本装饰线,以及其祖先绘制的所有文本装饰线。