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