2013-03-10 95 views
2

我想将鼠标悬停在div上时更改一些东西。悬停效果div位置和边框

我想使箱子的影子更大,并将div稍微向上移动到左侧,同时不影响围绕此div的其他div。这是我的代码到目前为止。

#divshadow { 
    box-shadow: 2px 2px 10px #888; 
    -moz-box-shadow: 2px 2px 10px #888; 
    -webkit-box-shadow: 2px 2px 10px #888; 
    border-radius: 7px; 
    margin-right: 3%; 
    padding-top: 8px 
} 

.divshadow:hover { 
} 
<div id="divshadow" class="divshadow" 
    style="float:left;width:30%; margin-left:2%"></div> 

回答

1

下面是使用CSS3过渡的溶液。 #divshadow:hover上的值需要根据您的需求进行调整。

jsFiddle

#divshadow { 
    box-shadow: 2px 2px 10px #888; 
    -moz-box-shadow: 2px 2px 10px #888; 
    -webkit-box-shadow: 2px 2px 10px #888; 
    border-radius: 7px; 
    margin-right:3%; 
    padding-top:8px; 

    transition: all .5s ease; 
    -webkit-transition: all .5s ease; 
    position:relative; 
    top:0px; 
    left:0px; 
} 
#divshadow:hover { 
    top:-3px; 
    left:-3px; 
    box-shadow: 2px 2px 20px #888; 
    -moz-box-shadow: 2px 2px 20px #888; 
    -webkit-box-shadow: 2px 2px 20px #888; 
} 
+0

这是惊人的!非常感谢。唯一的问题是,它在两次移动,所以看起来不稳定。这不是一个平稳的运动,而是两个运动。 – user2152326 2013-03-10 14:47:38

+0

我修正了用0代替.5s – user2152326 2013-03-10 14:54:29

+0

在一个好的浏览器中,过渡应该是非常平滑的。将时间设置为需要进行转换的时间,它应该立即发生0,并且根本不需要转换:) – 2013-03-10 14:55:59