CSS:悬停时阴影不会消失

时间:2012-07-25 21:23:43

标签: css css3 shadows

我用几个按钮做了一个小菜单。我在菜单按钮上添加了一个阴影。它完美地运作。我想在菜单中做一些“深度”,所以它们真的变成了“按钮”。如果你玩阴影,这很有效。 没有任何动作,阴影应位于左上角。

#menu ul li {
    -moz-box-shadow: -3px -3px -3px #888;
    -webkit-box-shadow: -3px -3px -3px #888;
    box-shadow: -3px -3px -3px #888;
}

但是一旦我将鼠标悬停在它上面,这个阴影就不会消失,即使我做了

#menu ul li:hover {
    border-radius: 5px;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

为什么不想离开?

2 个答案:

答案 0 :(得分:4)

如@thirtydot所述,问题在于box-shadow的值无效 - blur不能为负值。

:hover没有任何问题,您只需要从-属性中删除blur,代码即可运行。

  

<blur-radius>(可选)
  这是第三个<length>值。该值越大,模糊越大,阴影变得越来越大。不允许使用负值。如果未指定,则为0(阴影边缘清晰)。

https://developer.mozilla.org/en/CSS/box-shadow

奇怪的是它似乎打破了hover上的删除;而不是仅仅忽略无效值,因为阴影仍然以锋利的边缘输出。

答案 1 :(得分:1)

试试这个:

box-shadow: 0 0 0;

是否有其他CSS应用于您的li?这可能是干扰。

另见:http://css-tricks.com/forums/discussion/14829/trouble-with-box-shadow-on-rollover-hover/p1