1. transform 变形
每个效果都可以称为变形(transform),它们可以分别操控元素发生平移、旋转、缩放、倾斜等变化
div{ transform:[transform-function] *;/*设置变形函数,可以是一个,也可以是多个,中间以空格分开 */ }
1.1 translate() :平移函数,基于X、Y坐标重新定位元素的位置
div{ transform:translate(100px,100px); transform:translateX(100px);/*表示只设置X轴的位移*/ transform:translateY(100px);/*表示只设置Y轴的位移*/ }
1.2 scale():缩放函数,可以使任意元素对象尺寸发生变化
scale()函数可以只接收一个值,也可以接收两个值,只有一个值时,第二个值默认和第一个值相等
div{ transform:scale(2,2); transform:scaleX(2);/*表示只设置X轴的缩放*/ transform:scaleY(2);/*表示只设置Y轴的缩放*/ }
1.3 skew():倾斜函数,取值是一个度数值
div{ transform:skew(30deg,30deg); transform:skewX(30deg);/*表示只设置X轴的倾斜*/ transform:skewY(30deg);/*表示只设置Y轴的倾斜*/ }
1.4 rotate():旋转函数,取值是一个度数值
参数a单位使用deg表示
参数a取正值时元素相对原来中心顺时针旋转
div{ transform: rotate(50deg);/*倾斜50度*/ }
1.5 小结
rotate( )函数只是旋转,而不会改变元素的形状
skew( )函数是倾斜,元素不会旋转,会改变元素的形状
2. transition 过渡
transition呈现的是一种过渡,是一种动画转换的过程,如渐现、渐弱、动画快慢等
CSS3
transition的过渡功能更像是一种“黄油”,通过一些CSS
的简单动作触发样式平滑过渡
div{ transition:[transition-property transition-duration transition-timing-function transition-delay ] } transition-property 过渡或动态模拟的CSS属性 transition-duration 完成过渡所需要的时间 transition-timing-function 指定过渡函数 transition-delay 过渡开始出现的延迟时间
2.1 过渡属性
定义转换动画的CSS
属性名称
IDENT
:指定的CSS
属性(width、height、background-color属性等)all:指定所有元素支持transition-property属性的样式,一般为了方便都会使用all
2.2过渡所需的时间( transition-duration )
定义转换动画的时间长度,即从设置旧属性到换新属性所花费的时间,单位为秒(s)
2.3过渡动画函数( transition-timing-function )
指定浏览器的过渡速度,以及过渡期间的操作进展情况,通过给过渡添加一个函数来指定动画的快慢方式
ease:速度由快到慢(默认值)
linear:速度恒速(匀速运动)
ease-in:速度越来越快(渐显效果)
ease-out:速度越来越慢(渐隐效果)
ease-in-out:速度先加速再减速(渐显渐隐效果)
2.4 过渡延迟时间( transition-delay )
指定一个动画开始执行的时间,当改变元素属性值后多长时间去执行过渡效果
正值:元素过渡效果不会立即触发,当过了设置的时间值后才会被触发
负值:元素过渡效果会从该时间点开始显示,之前的动作被截断
0:默认值,元素过渡效果立即执行
2.5 过渡的触发机制
伪类触发
:hover
:active
:focus
:checked
媒体查询:通过@media属性判断设备的尺寸,方向等
JavaScript触发:用JavaScript脚本触发
2.6 使用过渡动画的使用步骤
在默认样式中声明元素的初始状态样式
声明过渡元素最终状态样式,如悬浮状态
在默认样式中通过添加过渡函数,添加一些不同的样式