我刚刚意识到带背景的锚标签只会继承它们的行高,你只能通过设置锚点来直接设置它:inline-block;
为什么会这样?
http://jsfiddle.net/moefinley/3H3y5/
ul li a {
display: inline-block;
line-height: 20px;
}
答案 0 :(得分:7)
这是根本原因:
content-area =在非替换元素中,元素中每个字符的字体大小描述的框串在一起;在 替换元素,元素的内在高度加上任何元素 边距,边框或填充
内联框 =添加(half-)导致每个元素的内容区域;对于未替换的元素,内联的高度 元素的框将与行高的值完全相等; 对于替换元素,元素的内联框的高度将为 完全等于元素的内在高度加上任何 边距,边框或填充
line-box =限定内联框的最高点和最低点的框,该行是行的一部分
以下行为不属于此描述:
因此,只有当您使用a
将其标记为块元素时,具有背景的inline-block
的行高才能正常工作。并且使用默认行为时,它只会伸展线条高度而不会拉伸背景。