Css 为什么我的文本在我的<;李>;元素?

Css 为什么我的文本在我的<;李>;元素?,css,html-lists,alignment,Css,Html Lists,Alignment,我已经摆弄这个好几个小时了。我无法使文本在25px a元素内垂直对齐。文本总是希望位于彩色“框”的每个顶部。我只希望它在垂直的中间。此外,这个问题在我的所有列表中都被继承 #nav ul li.cat:n个孩子(1)>a{ 背景色:#647484; } #海军ulli a{ 颜色:#FFFF00; 显示:块; 字号:1em; 高度:25px; 左侧填充:30px; 文字装饰:无; 宽度:137px; } HTML 您的线条高度小于方框的高度,因此它

我已经摆弄这个好几个小时了。我无法使文本在25px a元素内垂直对齐。文本总是希望位于彩色“框”的每个顶部。我只希望它在垂直的中间。此外,这个问题在我的所有列表中都被继承

#nav ul li.cat:n个孩子(1)>a{
背景色:#647484;
}
#海军ulli a{
颜色:#FFFF00;
显示:块;
字号:1em;
高度:25px;
左侧填充:30px;
文字装饰:无;
宽度:137px;
}
HTML



您的线条高度小于方框的高度,因此它看起来像是与顶部对齐,而实际上只是占用了它应该占用的空间。尝试设置
行高:25px
以及您的高度


至少要将它们粘贴正确,这样我们就可以在JSFIDDLE中测试它了,这真是太棒了!非常感谢。还有一个小问题。。。我希望较小的子类别的高度小于主要类别。子类别实际上继承了主类别的高度——关于如何解决这个问题,有什么建议吗?非常感谢@VinceJacobs:只需在其下方添加另一个选择器,即可在“subcat”列表项中抓取锚:-请参阅
#nav ul li.subcat a
。嗨,animuson-非常感谢!我还是有点奇怪。当我应用推荐的线条高度时,我的主要类别是垂直对齐的,而子类别是垂直对齐的。然而,当在FF内测试时,情况正好相反,即潜艇是完美的,主要的猫科动物被推上。我在这里发布了我的html和css:@VinceJacobs:这是因为您在
#nav ul li.subcat
中将列表项的物理高度设置为15px,但在新规则中,您将锚点的高度和线高度设置为20px。您应该更改或。如果你想听听我的意见,15px的版本看起来有点太复杂了。@VinceJacobs:当它解决你的问题时,记得把答案标记为已接受(左边的复选标记)。
<div id="nav">
<ul>
<li class="cat">
<a href="http://localhost/country/index.php/welcome/cat/19">Beef</a>
<ul>
<li class="subcat">
<a href="http://localhost/country/index.php/welcome/cat/21">Ribs</a>
</li>
</ul>
<ul>
<li class="subcat">
<a href="http://localhost/country/index.php/welcome/cat/30">Steaks </a>
</li>
</ul>
</li>
<li class="cat">
<a href="http://localhost/country/index.php/welcome/cat/19">Beef</a>
<ul>
<li class="subcat">
<a href="http://localhost/country/index.php/welcome/cat/21">Ribs</a>
</li>
</ul>
<ul>
<li class="subcat">
<a href="http://localhost/country/index.php/welcome/cat/30">Steaks </a>
</li>
</ul>
</li> <!-- etc etc -->
</ul>
</div>