我有一个带有许多链接的水平菜单,每个链接都需要有纯色背景色和每个链接之间的 1px 白色间隙。因此,我使用表格/表格单元格技术来强制每个LI
缩小/扩大,因为它们需要在一条线上组合在一起。如果菜单有足够的项目或任何项目足够宽以至于LI > A
需要将其文本包装到下一行,则此方法可以正常工作。但是,如果LI > A
根据它们的内容/填充,所有这些都是全宽的,它们拒绝扩展到LI
我display:table-cell;vertical-align:middle
用来在每个中强制垂直居中文本的宽度,A
并且似乎 display:table-cell 不允许对于类似的东西width:100%
这是CSS:
ul {
display: table;
padding: 0;
width: 100%;
}
li {
background:blue;
border-right: 1px solid white;
display: table-cell;
vertical-align: bottom;
}
li:hover {
background: red;
}
a {
vertical-align: middle;
height: 60px;
display: table-cell;
padding: 0 9px;
color: white;
text-align: center;
}
它在行动中:http: //jsfiddle.net/2GUpW/1/
我想我应该考虑另一种垂直居中的方法,这样我就可以避免display:table-cell
在 上A
,但是我不确定是否有一种体面的方法来实现这一点。我需要A
覆盖整个高度/宽度,LI
否则会有一些部分LI
未被可点击链接覆盖。
感谢您的任何建议。