0

我想在我的网站上创建一个 CSS 菜单,当悬停时会向右移动。我可以自己创建设计,但我不知道如何移动它。

这是效果的演示:http: //www.flashmo.com/preview/flashmo_207_vertical

4

2 回答 2

3

假设我的评论是正确的,这就是您完成该任务的方式。

有一个有效的JsFiddle 示例

HTML:

<ul id="menu">
    <li>Menu Item 1</li>
    <li>Menu Item 2</li>    
    <li>Menu Item 3</li>
</ul>

CSS:

#menu li{
    width: 200px;
    height: 50px;
    background-color: gray;
    color: lightgrey;
    list-style-type: none;
    margin: 5px;
    text-align: center; 
    transition-property:margin-left;
    transition-duration:1s;
    transition-timing-function:linear;

    /* Safari */
    -webkit-transition-property:margin-left;
    -webkit-transition-duration:1s;
    -webkit-transition-timing-function:linear;

}

#menu li:hover{
    margin-left: 25px;
}
于 2013-08-06T17:49:50.350 回答
2

你能在你的网站上使用 jQuery 吗?这将是执行您正在寻找的动画的最简单方法。如果您仅限于使用 CSS3 动画,请参阅 Charles380 提供的答案

jsFiddle

例子:

jQuery

$('.bar').mouseover(function(){
    $(this).animate({"margin-left": "50"});
})

$('.bar').mouseout(function(){
    $(this).animate({"margin-left": "0"});
});

CSS

.bar {
    width:200px;
    height:100px;
}
.bar {
    background-color: #000000;
    margin-left:0;
    margin-bottom:10px;
}

HTML

<div class="bar"></div>
<div class="bar"></div>
<div class="bar"></div>
<div class="bar"></div>
<div class="bar"></div>
于 2013-08-06T17:49:48.127 回答