如何设置:链接高度/宽度与CSS?

这听起来有点疯狂,但我不能设置我的导航元素的高度和宽度。

 #header div#snav div a{ width:150px; height:77px; } #header div#snav div a:link{ width:150px; height:77px; } #header div#snav div a:hover{ height:77px; background:#eff1de; } 

任何想法我做错了什么?

添加显示:块;

a-tag是一个内联元素,所以你的高度和宽度被忽略。

 #header div#snav div a{ display:block; width:150px; height:77px; } 

锚将需要是一个不同的显示types比他们的默认高度。 display:inline-block;display:block;

另外检查line-height ,这可能是有趣的。

你的问题可能是a元素display: inline本质。 您不能设置内联元素的宽度和高度。

你将不得不在a上设置display: block ,但是这会带来其他的问题,因为这些链接的行为就像块元素一样。 最常见的治疗方法是让他们float: left所以他们排队反正。

从高度的定义 :

适用于:所有元素,但未replace的内联元素,表列和列组

默认情况下, a元素是一个内联元素(并且不被replace)。

您需要更改显示(直接使用显示属性或间接显示,例如使用浮点数)。

感谢RandomUs 1r的观察:

将其更改为显示:inline-block; 解决了这个问题。 RandomUs1r 13年5月14日在21:59

我自己尝试了一个顶部导航菜单栏,如下所示:

第一种风格的“李”元素如下:

显示:内联块;
宽度:7em;
text-align:center;

然后按如下方式设置“a”>元素:

宽度:100%;

现在导航链接都是相等的宽度,每个链接都以文本为中心。