CSS3核心模块
过渡动画
transition:过渡动画transition-property:过渡属性all[attr]transition-duration:过渡时间transition-delay:延迟时间transition-timing-function:运行类型ease:(逐渐变慢)默认值linear:匀速ease-in:加速ease-out:减速cubic-bezier:贝塞尔曲线
过渡动画效果思考步骤:
- 找到过渡属性
- 找到过渡属性起始值和结束值
- 在合适的位置上增加
transition属性
2D变换
transform:变形属性rotate():旋转函数deg:度数transform-origin:旋转的基点
skew():倾斜函数skewX()skewY()
scale():缩放函数 默认值是1scaleX()scaleY()
translate():位移函数translateX()translateY()
animation-声明关键帧
- 关键帧——
@keyframes- 类似于
flash- 定义动画在每个阶段的样式,即帧动画
- 关键帧的时间单位
- 数字:
0%、25%、100%等(设置某个时间段内任意时间点的样式) - 字符:
from(0%)、to(100%):
- 数字:
- 格式
@keyframes:动画名称{动画状态}
- 类似于
animation-调用动画
- 必要属性
animation-name:动画名称(关键帧名称)animation-duration:动画执行时间
- 可选属性:
animation-timing-functionlinear:匀速ease:缓冲ease-in:由慢到快ease-out:由快到慢ease-in-out:由慢到快再到慢ease-bezier(num,num,num,num):特定的贝塞尔曲线类型,4个数值需在[0,1]区间内
animation-delay:动画延迟animation-iteration-count:重复次数animation-direction:动画运行的方向normal|reverse|alternate|alternate-reverseanimation-play-state:动画状态running|pausedanimation-fill-mode:动画结束后的状态none|forwards|backwards|both
3D变换
transform-style: flat|preserve-3d:3D空间展示perspective:景深效果transform: persective(800px):直接作用在子元素上transform:新增函数translate3d(tx, ty, tz):translateX()translateY()translateZ()rotate3d(rx, ry, rz, a):rotateX()rotateY()rotateZ()scale3d(sx, sy, sz):sacleX()sacleY()sacleZ()
圆角 border-radius
border-radius:1-4个数字/1-4个数字- 水平半径/垂直半径
- 四个数字方向分别是左上 右上 右下 左下
- 没有
/则水平半径和垂直半径一样border-radius: 10px/5px;- border-radius: 60px 40px 30px 30px/30px 20px 10px 5px
- 例子:圆 椭圆 半圆 扇形
线性渐变 linear-gradient
linear-gradient:([<起点>||<角度>,]?<点>,<点>...)- 只能用在背景上
- 颜色是沿着一条直线轴变化
- 参数
- 起点:开始渐变方向
- 角度:开始渐变角度
- 点:渐变点的颜色和位置
- 重复线性渐变
径向渐变 radial-gradient
radial-gradient- 从“一点”向多个方向颜色渐变
shape形状:ellipse、circle或设置水平半径,垂直半径size:渐变的大小,即渐变停止位置:closet-side:最左边farthest-side:最远边closet-corner:最近角farthest-corner:最远角(默认值)
position:关键词|数值|百分比- 重复的径向渐变
背景
background-originpadding-box:从padding区域显示border-box:从border区域显示content-box:从content区域显示
background-clippadding-box:从padding区域向外裁剪border- box:从border区域向外裁剪content-box:从content区域向外裁剪text:文本裁剪
background-size100% 100%:百分比10px 10px:数值contain:按原始比例收缩,背景图显示完整,但不一定铺满整个容器cover:按原比例收缩,背景图可能显示不完整,但铺满整个容器
background-attachment- 背景图片是滚动/固定
fixed(固定的) 默认是滚动的
- 背景图片是滚动/固定
盒子阴影
box-shadow:h v blur spread color inset;h:水平方向偏移v:垂直方向偏移blur:模糊半径spread:扩展半径color:颜色inset:内阴影,默认是外阴影
文本阴影
text-shadow:x y blur colorx轴偏移y轴偏移 模糊度 颜色- 多层阴影制作文字立体效果,设置多种颜色,中间以逗号隔开
文字添加边框
text-stroke:2px blue- 通过设定
1px的透明边框,可以让文字变得平滑 - 颜色设成透明能够创建镂空字体
- 通过设定
滤镜
-webkit-filter:normal;:正常-webkit-filter:grayscale(1);:灰度,取值范围0-1-webkit-filter:brightness(0);:亮度,取值范围0-1-webkit-filter:invert(1);:反色,取值范围0-1,0为原图,1为彻底反色-webkit-filter:sepia(0.5);:叠加褐色,取值范围0-1-webkit-filter:hue-rotate(30deg);:色相(按照色相环旋转,顺时针方向)(红-橙-黄-黄绿-绿-蓝绿-蓝-蓝紫-紫-紫红-红)此处为叠加黄色滤镜-webkit-filter:saturate(4);:饱和度,取值范围0-*,0为无饱和度,1为原图,值越高,饱和度越大-webkit-filter:contrast(2);:对比度,取值范围0-*,0为无对比度(灰色),1为原图,值越高对比度越大-webkit-filter:opacity(0.8);:透明度,取值范围0-1,0为全透明,1为原图
遮罩
mask-image:mask-position:mask-repeat: