这里我们要使用 transition 标签
- 原文来源:详情
效果预览
请把鼠标指针移动到蓝色的 div 元素上,就可以看到过渡效果。
注释:本例在低版本 Internet Explorer 中无效。
方法介绍
transition:颜色 变换延续的时间 变换速率
transition:background-color 0.3s linear
变换速率:
1、ease:(逐渐变慢)默认值,ease函数等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0).
2、linear:(匀速),linear 函数等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0).
3、ease-in:(加速),ease-in 函数等同于贝塞尔曲线(0.42, 0, 1.0, 1.0).
4、ease-out:(减速),ease-out 函数等同于贝塞尔曲线(0, 0, 0.58, 1.0).
5、ease-in-out:(加速然后减速),ease-in-out 函数等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)
6、cubic-bezier:(该值允许你去自定义一个时间曲线), 特定的cubic-bezier曲线。 (x1, y1, x2, y2)四个值特定于曲线上点P1和点P2。所有值需在[0, 1]区域内,否则无效。
<!-- wp:paragraph -->
<p>//Mozilla内核</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>-moz-transition :</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>//Webkit内核</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>-webkit-transition :</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>//Opera</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>-o-transition :</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>//W3C 标准</p>
<!-- /wp:paragraph -->
<!-- wp:paragraph -->
<p>transition :</p>
<!-- /wp:paragraph -->
下面实例,演示,鼠标经过时,改变div宽度,平滑改变,带动画
CSS:
.n-box
{
width:100px;
height:100px;
background:blue;/*背景颜色*/
transition:width 2s;/*动画*/
-moz-transition:width 2s; /* Firefox 4 */
-webkit-transition:width 2s; /* Safari and Chrome */
-o-transition:width 2s; /* Opera */
}
.n-box:hover/*触发*/
{
width:300px;
}
HTML:
<div class="n-box">div>
<p>请把鼠标指针移动到蓝色的 div 元素上,就可以看到过渡效果。p>
<p><b>注释:b>本例在低版本 Internet Explorer 中无效。p>
相关补充
- 原文来源:详情
transition有一个特性,只要是带有数值类型的属性(例如:% , rgba() , rgb() , hsla() , 数字等),在其发生变化的时候,均会被触发动画效果。
因此,不管:hover伪类什么时候丢掉我的动画,也不管我:hover时,元素动画走到了什么地步。只要元素本身带有transitioin,该动画便会从当前动画执行到的地方,以相同的时间返回原样。
这只是最简单的动画实现,但对于目前大部分需求来说,配合配合贝塞尔曲线,已经足够用了。
你仅仅需要做到,hover中的最终样式,保证为数值样式变OK了。
像display:block变为display:none就不好使了,此时我们可以用visibilty:1变为visibilty:0,同样也可以简单实现显示到隐藏的效果。
另外加一句,不太清楚transition属性的可以自行去百度去,transition-timing-function属性定义的速度曲线,使用cubic-bezier贝塞尔曲线,可以做到很多效果,大家可以上这个网址去试一试贝塞尔曲线实现的动画。
visibilty的值不是不能为数字只能是这三个吗:
visible: 设置对象可视
hidden: 设置对象隐藏
collapse: 主要用来隐藏表格的行或列。隐藏的行或列能够被其他内容使用。对于表格外的其他对象,其作用等同于hidden。