css3平滑过渡效果怎么让宽度向左滑动

html-css013

css3平滑过渡效果怎么让宽度向左滑动,第1张

CSS3平滑过渡效果让宽度向左滑动的代码为:

<!DOCTYPE html>

<html>

<head>

<style> 

div#transitionhovertree

{

float: right

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 */

}

 

div#transitionhovertree:hover

{

width:300px

}

</style>

</head>

<body>

 

<div id="transitionhovertree"></div>

 

 

 

</body>

</html>

CSS即层叠样式表(Cascading StyleSheet)。 在网页制作时采用层叠样式表技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。

CSS3是CSS技术的升级版本,CSS3语言开发是朝着模块化发展的。以前的规范作为一个模块实在是太庞大而且比较复杂,所以,把它分解为一些小的模块,更多新的模块也被加入进来。这些模块包括: 盒子模型、列表模块、超链接方式 、语言模块 、背景和边框 、文字特效 、多栏布局等。

在CSS3中新增了元素的过渡效果属性:transition

transition也是一个复合属性,包括四个值分别是:

1. transition-property

2. transition-duration

3. transition-timing-function

4. transition-delay

基本使用如下:

多个属性可以单独设置,也可以通过transition一起设置

例如:点击按钮时,方块宽度由100px变成200px,延迟1s,过渡时间用了2s,速度是按照cubic-bezier设定的一个速度

以上就是transition的基本使用!

可以

Transition允许CSS的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值,它的语法如下:

transition: property duration timing-function delay/*

property:执行过渡的属性

duration:执行过渡的持续时间

timing-function:执行过渡的速率模式

delay:延时多久执行

*/

transition-property

可取值:

none

没有属性会获得过渡效果。

all

所有属性都将获得过渡效果。

property

定义应用过渡效果的 CSS 属性名称列表,列表以逗号分隔。

div{transition-property:width-moz-transition-property: width/* Firefox 4 */-webkit-transition-property:width/* Safari 和 Chrome */-o-transition-property:width

/* Opera */}

transition-duration

参数为时间,单位为s(秒)或者ms(毫秒),默认就是0,回想一下如果只有transform属性,是不是变换啪地一下完成了。

div{transition-duration: 5s-moz-transition-duration: 5s/* Firefox 4 */-webkit-transition-duration: 5s/* Safari 和 Chrome */-o-transition-duration: 5s/* Opera */}

transition-timing-function

既然是动画,那么就有动画的运行速率,不同的速度会产生不同的结果,以下是可取值。

ease:(逐渐变慢)默认值,ease函数等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0).

linear:(匀速),linear 函数等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0).

ease-in:(加速),ease-in 函数等同于贝塞尔曲线(0.42, 0, 1.0, 1.0).

ease-out:(减速),ease-out 函数等同于贝塞尔曲线(0, 0, 0.58, 1.0).

ease-in-out:(加速然后减速),ease-in-out 函数等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)

速率示意图

transition-delay

参数为时间,单位为s(秒)或者ms(毫秒),默认就是0,也就是立即执行,如果在多个动画直接有先后顺序,那么它就会派上用场。

把它们写在一起

浏览器内核的前缀不能忘啊,使用emmet神器来帮助你。

emmet使用如图所示:

-webkit-transition: all 0.5s ease-in-out 0s

-o-transition: all 0.5s ease-in-out 0s

transition: all 0.5s ease-in-out 0s

如图所示

将它们放在一起的效果如下,可以很明显的发现它们之间的不同。