1.CSS3渐变
(1)渐变的分类
1.从上到下(默认):
background-image: linear-gradient(#e66465, #9198e5);
2.从左到右:
background-image: linear-gradient(to right, red , yellow);
3.对角:
background-image: linear-gradient(to bottom right, red, yellow);
4.使用多个颜色结点:
background-image: linear-gradient(red, yellow, green);
5.使用透明度(transparent):
从左到右的线性渐变,带有透明度:
background-image: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1));
6.重复的线性渐变
repeating-linear-gradient() 函数用于重复线性渐变:
background-image: repeating-linear-gradient(red, yellow 10%, green 20%);
(2)线性渐变:
1.颜色结点均匀分布(默认情况下)
background-image: radial-gradient(red, yellow, green);
2.颜色结点不均匀分布
background-image: radial-gradient(red 5%, yellow 15%, green 60%);
3.设置形状
shape 参数定义了形状。它可以是值 circle 或 ellipse。其中,circle 表示圆形,ellipse 表示椭圆形。默认值是 ellipse。
background-image: radial-gradient(circle, red, yellow, green);
background-image: radia-gradient(circle at center bottom,white,white 16%, purple 20%);
2.CSS3过渡(从一种样式—>另一种样式,只有两种状态)
(1)过度属性
- 过渡属性
下表列出了所有的过渡属性:
属性 | 描述 | CSS |
transition | 简写属性,用于在一个属性中设置四个过渡属性。 | 3 |
transition-property | 规定应用过渡的 CSS 属性的名称。 | 3 |
transition-duration | 定义过渡效果花费的时间。默认是 0。 | 3 |
transition-timing-function | 规定过渡效果的时间曲线。默认是 ease(慢快慢)/linear(匀速)。 | 3 |
transition-delay | 规定过渡效果何时开始。默认是 0。 | 3 |
可简写:transiton(属性 过渡时间 过渡效果 延迟时间);
例如:transition: width 2s linear 1s;
3.CSS3 2D 转换(均在transform属性中)
(1)translate() 方法(根据左(X轴)和顶部(Y轴)位置给定的参数)
transform:translate(50px,100px);是从左边元素移动50个像素,并从顶部移动100像素。
(2)rotate()方法
transform: rotate(30deg); 元素顺时针旋转30度
transform-origin: right top; 设置旋转轴心 /*旋转轴心在滑过前设置*/
(3)scale()方法
transform: scale(2,3);转变宽度为原来的大小的2倍,和其原始大小3倍的高度
(4)skew()方法
包含两个参数值:
skewX(<angle>);表示只在X轴(水平方向)倾斜。
skewY(<angle>);表示只在Y轴(垂直方向)倾斜。
transform: skew(30deg,20deg);元素在X轴和Y轴上倾斜20度30度
4.CSS 3D 转换
(1)rotateX(),rotateY()方法
rotateX()方法,围绕其在一个给定度数X轴旋转的元素
rotateY()方法,围绕其在一个给定度数Y轴旋转的元素。
(2)3D转换其他方法
函数 | 描述 |
matrix3d(n,n,n,n,n,n, | 定义 3D 转换,使用 16 个值的 4x4 矩阵。 |
translate3d(x,y,z) | 定义 3D 转化。 |
translateX(x) | 定义 3D 转化,仅使用用于 X 轴的值。 |
translateY(y) | 定义 3D 转化,仅使用用于 Y 轴的值。 |
translateZ(z) | 定义 3D 转化,仅使用用于 Z 轴的值。 |
scale3d(x,y,z) | 定义 3D 缩放转换。 |
scaleX(x) | 定义 3D 缩放转换,通过给定一个 X 轴的值。 |
scaleY(y) | 定义 3D 缩放转换,通过给定一个 Y 轴的值。 |
scaleZ(z) | 定义 3D 缩放转换,通过给定一个 Z 轴的值。 |
rotate3d(x,y,z,angle) | 定义 3D 旋转。 |
rotateX(angle) | 定义沿 X 轴的 3D 旋转。 |
rotateY(angle) | 定义沿 Y 轴的 3D 旋转。 |
rotateZ(angle) | 定义沿 Z 轴的 3D 旋转。 |
5.CSS3 动画
(1)@keyframes 规则
要创建 CSS3 动画,你需要了解 @keyframes 规则。
@keyframes 规则是创建动画。
@keyframes 规则内指定一个 CSS 样式和动画将逐步从目前的样式更改为新的样式。
用百分比或用关键词 "from" 和 "to"来规定变化发生的时间。
0% 是动画的开始,100% 是动画的完成。
div { animation: myfirst 5s;
}
@keyframes myfirst { /*myfirst是动画名称*/
0% {background: red;}
25% {background: yellow;}
50% {background: blue;}
100% {background: green;}
}
(2)居于与CSS3的动画属性
@keyframes | 规定动画。 |
animation | 所有动画属性的简写属性,除了 animation-play-state 属性。 |
animation-name | 规定 @keyframes 动画的名称。 |
animation-duration | 规定动画完成一个周期所花费的秒或毫秒。默认是 0。 |
animation-timing-function | 规定动画的速度曲线。默认是 "ease"。 |
animation-fill-mode | 规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。 |
animation-delay | 规定动画何时开始。默认是 0。 |
animation-iteration-count | 规定动画被播放的次数。默认是 1,infinite是无穷 |
animation-direction | 规定动画是否在下一周期逆向地播放。默认是 "normal"。alternate(下一周期逆向播放) |
animation-play-state (不能简写,单独设置) | 规定动画是否正在运行或暂停。默认是 "running"。paused是暂停 |
简写的动画 animation 属性:
animation: myfirst 5s linear 2s infinite alternate;
/*名称 动画完成时间 匀速播放 无限播放 下一周期逆向播放*/