在使用与 a:link around div相关的代码时,我注意到了这一点(奇怪?)- 在 div 中设置样式
鉴于此 HTML:
<a id="foo" href="foobar">
<div id="bar">
<h2 id="baz">Foo</h2>
</div>
</a>
这个CSS(添加背景颜色以显示结构):
a {
display: block;
padding: 20px;
background-color: rgb(240,240,240);
}
#bar {
width: 200px;
height: 100px;
background-color: rgb(220,220,220);
}
#baz {
padding: 20px;
text-decoration: none;
}
Chrome 将匹配的 CSS 规则显示为包含text-decoration: none;
但文本确实带有下划线:
(来源:pangram.net)
同样,使用 Firebug,Firefox 会返回null
计算的textDecoration
样式:
(来源:pangram.net)
我意识到将text-decoration
属性应用到a
链接有一个简单的解决方法,但这不是我所期望的行为。谁能解释这个(明显的)差异?
编辑:我相信答案就在这里:线条装饰:下划线、上划线和删除线
当在建立内联格式化上下文的块容器上指定或传播到块容器时,装饰将传播到匿名内联盒,该盒包装块容器的所有流入内联级子项。
但我仍然不完全明白发生了什么。