4

正如题目所说。我想让悬停的那个改变他的width。但似乎每个列表元素都会改变他的width.

小提琴

它似乎很容易,但我不明白。有什么建议么?

编辑:当你将widthat 更改#nav li a:hover {background-color: #555; 它工作正常。现在真的很迷茫。

4

2 回答 2

1

它不会影响其他元素,只会移动它们。看到这个


解决方案:添加margin-left: -30px;. 这将修复其他元素。
为什么是 30 像素?30px 是新旧宽度之间的差异(90 和 120px)。

#nav li a:hover {
    width: 120px;
    margin-left: -30px;
}

现场演示:jsFiddle

于 2012-08-01T14:43:32.910 回答
1

看看这里实际发生了什么:宽度仅在当前链接上更改,而不是在所有链接上更改:http: //jsfiddle.net/JjMfU/15/

您需要解决一个不同的问题 - 只需将链接始终放在右侧 - 这是通过将它们浮动到右侧来完成的。请注意,我添加overflow: hiddenli处理浮点数,也存在其他方法。

像这样:http: //jsfiddle.net/JjMfU/20/

于 2012-08-01T14:45:51.380 回答