CSS3(2)

121 阅读3分钟

过渡属性

属性名:transition

作用:在不使用flash动画或Javascript的情况下,使用transition可以实现补间动画(过度效果),并且当前元素只要有“属性”发生变化时即存在两种状态(a和b代指),那么a和b之间可以实现平滑的过渡动画效果

语法格式:transition:过度的属性 过度的时间 运动曲线 延时时间

单一属性写法

image.png

transition-property过渡的属性

  • none表示没有属性过渡
  • all表示所有变化的属性都过渡
  • 属性名 使用具体的属性名,多个属性名中间逗号分隔

transition-timing-function 时间曲线

image.png

贝塞尔曲线

image.png  

image.png

2D转换

属性名:transform

作用:对元素进行移动、缩放、转动、拉长或拉伸。配合过渡和动画,可以取代大量之前只能靠flash才可以实现的效果

属性值:多种转换方法的属性值,可以实现不同的转换效果

 

位移translate()

transform的属性值为translate()时。可以实现位移效果

书写语法:

image.png

注:可以使用translate(-50%)的方法实现水平居中

缩放scale()

transform的属性值为scale()时,可以实现元素缩放效果

书写语法:

image.png

旋转rotate()

transform属性值设置为rotate()时,实现元素的旋转

书写语法:

rotate(数字deg)

其中,deg为度数单位,正数代表顺时针旋转,负数代表逆时针旋转。2D的旋转只有一个属性值

注意:元素旋转后。坐标轴也跟着发生转变

因此,多个属性值同时设置给transform时,书写顺序不同会导致转换效果有差异

倾斜skew()

transform属性值设置为skew()时,实现元素的倾斜。

书写语法:transform:skew(数字deg,数字deg);

两个属性值分别表示水平和垂直方向倾斜的角度,属性值可以为正可以为负。第二个数值不写,默认为0

transform-origin属性

作用:设置调整元素的水平和垂直方向原点的位置。

调整元素的基准点

属性值:包含两个。中间使用空格分隔

image.png

3D转换

transform属性不止能实现2D转换,也可以制作3D立体转换效果,比普通的x、y轴组成的平面效果多了一条z轴。

透视:

image.png

透视属性:perspective

作用:设置在z轴的视线焦点的观察位置,从而实现3D查看效果

属性值:像素值,数值越大,观察点距离z轴原点越远,图形效果越完整且接近原始尺寸。

注意:透视属性需要设置给3D变化元素的父级

image.png

3D旋转

3D旋转比2D旋转更复杂。需要分别对三个方向的旋转角度值:

image.png

注意:3D旋转的属性值为负时逆时针旋转,为正时顺时针旋转

3D位移

image.png

属性值为像素值或百分比,正负表示位移的方向,正值向对应轴的正方向移动,负值向对应轴负方向移动。

注意:旋转和位移可以同时设置,但是顺序不同,会导致效果差异

transform-style属性

用于设置被嵌套的子元素在父元素的3D空间中显示,子元素会保留自己的3D转换坐标轴

属性值:

flat:所有子元素在2D平面呈现

preserve-3d:保留3D空间

3D元素构建是指某个图形是由多个元素构成的,可以给这些元素的父元素设置transform-style:preserve-3d,来使其变成一个真正的3D图形