CSS - 边境过渡不正常

时间:2011-07-11 15:18:41

标签: css css-transitions

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>

转换对所有元素都有效,但是边框,它只出现在400ms的末尾,对边框没有影响。

我想要达到的效果就像新的谷歌Gmail按钮一样。

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:7)

这是一个非常简单的修复方法。在悬停效果之前,您只需要一个已经存在的边框。所以只需设置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 */
}

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