我试图理解为什么会这样。
如果<a>
中有<h2>
并在<body>
或<h2>
设置了行高,则链接高度大于<h2>
[更新澄清]问题是.title a的计算高度为58px,而其父h2.title的计算高度为50px。我希望它们都具有相同的计算高度。 [/更新]
我给他们两个底部边框以更好地说明问题。
[更新2]我已阅读line-height spec以尝试理解这一点。
从我对规范的阅读看来,块级元素a
中的内联元素h2
应该继承父行高。我已在h2
上修改了我的示例here,其中包含更大的行高。给a
显示内联块显然会使它适合,但它仍然不能完全删除行高(因此使用浏览器默认行高1.2)。
这可能不是问题,我只想了解这种行为。
[更新3]我意识到如果我将line-height
的{{1}}更改为a
h2
框的整体高度{上面示例中的粉红色) 增加,因此h2
继承a
中的line-height
。令人困惑的是,链接高度(可点击区域)和边框底部位置不会改变,而h2
上的边框底部会随着线高移动。
答案 0 :(得分:0)
我没有看到你的问题。在您提供的链接中,绝对没什么奇怪的。你有一个h2链接。所以链接的字体大小得到h2的字体大小。但是a远不及h2。
答案 1 :(得分:0)
这不是问题吗?
然而,将display:block;
添加到您的锚点,它会更像您期望的行为
答案 2 :(得分:0)
你有一个包含链接的h2。
h2和链接的行高为1(继承)但链接的字体大小为3em。
这意味着,容器的字体大小会更大,这可能会导致不同浏览器的结果不同。
Firefox(版本13)中的结果是,您在父容器(h2)的顶部和底部溢出。
答案 3 :(得分:0)
您是否尝试删除<H3>
的边距?在大多数浏览器中,它的默认边距为0.5em。
如果这是问题,您可以阅读Reset CSS。
修改强>
你有两种类型的容器,一个具有严格固定高度的褶皱块元件;
内联女巫有自动仇恨..和默认的边距和间距(想象一个链接作为段落的一部分......)。
要获得预期结果,您可以在display:inline-block
上添加<a>
。
因此它们都将被视为具有固定高度的盒子。