<a href="#"><span>Not Underline</span>Should Be Underlined</a>
所以简单地给予
span { text-decoration: none; }
不会删除包含在span元素内的文本的下划线
但这确实删除了下划线
span { text-decoration: none; display: inline-block; }
所以我使跨度成为内联块并且它起作用,这就是我通常这样做的方式.但是当谈到解释时,我无法解释为什么这样做实际上删除了简单地使用text-decoration的下划线:none;没有.
解决方法
Note that text decorations are not propagated to floating and absolutely positioned descendants,nor to the contents of atomic inline-level descendants such as inline blocks and inline tables.
请注意,此传播与继承不同,并且完全是一个单独的概念;实际上,text-decoration:none和text-decoration:inherit不会以你期望的方式影响传播:
> text-decoration:none只是表示“此元素没有自己的文本装饰”,和
> text-decoration:inherit表示“此元素与其父元素具有相同的指定文本修饰值”.
在这两种情况下,父文本装饰仍将传播到适用的元素.您可以强制内联块使用继承具有与其父级相同的文本修饰,但不能强制父级通过其祖先传播获得的任何其他装饰.
这也意味着只需显示:inline-block就足以防止文本装饰被传播.您不需要再指定text-decoration:none – 它已经是初始值.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。