2013-03-10 102 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