6

CSS 代码:

.css3_nudge ul li a {
   -webkit-transition-property: color, background-color, padding-left, border-right;
   -webkit-transition-duration: 400ms, 400ms, 400ms, 400ms;
}

.css3_nudge ul li a:hover {
   background-color: #efefef;
   color: #333;
   padding-left: 50px;
   border-right: 1px solid red;
}

HTML 代码:

<div class="css3_nudge nudge">
   <ul>
      <li><a href="#" title="Home">Home</a></li>
      <li><a href="#" title="Blog">Blog</a></li>
      <li><a href="#" title="About">About</a></li>
      <li><a href="#" title="Register">Register</a></li>
      <li><a href="#" title="Contact">Contact</a></li>
   </ul>
</div>

过渡对除边框以外的所有元素都有效,它只出现在 400 毫秒结束时,对边框没有影响。

我想要实现的是像新的 google gmail 按钮这样的效果。

提前感谢您的帮助

4

1 回答 1

10

这是一个非常简单的修复。您只需要在悬停效果之前已经存在边框。所以只需设置border-right: 1px solid #fff;如下:

.css3_nudge ul li a {
   -webkit-transition-property: color, background-color, padding-left, border-right;
   -webkit-transition-duration: 400ms, 400ms, 400ms, 400ms;
   border-right: 1px solid #fff; /* added property */
}

然后过渡实际上只是改变边框的颜色而不是创建边框。

于 2011-07-11T15:36:30.197 回答