CSS 知识总结—CSS动画
myzbx 2025-01-06 14:22 12 浏览
CSS简介
1.什么是CSS?
- CSS:Cascading Style sheet层叠样式表或级联样式表
- ? 是一种样式设置规则,用于控制页面的外观的样式
2.为什么使用CSS?
- 实现内容与样式的分离,方便团队开发
- 样式复用,便于网站后期维护
- 页面的精确控制,让页面更精美
3.CSS作用
- 页面外观美化
- 布局和定位
CSS动画
动画的原理
- 人脑的bug
定义
- 由许多静止的画面(帧)组成
- 以一定的速度(如每秒30张)连续播放时
- 肉眼因视觉残象产生错觉
- 而误以为是活动的画面
概念
- 帧:每个静止的画面都叫做帧
- 播放速度:每秒24帧(影视)或者每秒30帧(游戏)
浏览器渲染原理
浏览器渲染过程步骤
- 根据HTML构建HTML树(DOM)
- 根据CSS构建CSS树(CSSOM)
- 将两棵树合并成一棵渲染树(render tree)
- Layout布局(文档流、盒模型、计算大小和位置)
- Paint绘制(把边框颜色、文字颜色、阴影等画出来)
- Comepose合成(根据层叠关系展示画面)
如何更新样式
一般JS来更新样式
- 比如div.remove()删除节点
- 比如div.style.background = 'red'
- 比如div.style.display = 'none'
- 比如div.classList.add('red')
三种更新方式
1.JS/CSS》样式》布局》绘制》合成
比如:div.remove()会触发当前消失,其它元素relayout。
2.JS/CSS》样式》绘制》合成
比如:改变背景色,直接repaint+composite。
3.JS/CSS》样式》合成
比如:改变transform,直接composite。
CSS动画优化
- JS优化:使用requestAnimationFrame代替setTimeout或setlntervl
- CSS优化:使用will-change或translate
CSS 动画的两种做法(transition 和 animation)
一. transform
四个常用功能
- 位移 translate
- 缩放 scale
- 旋转 rotate
- 倾斜 skew
经验:
- 一般都需要配合transition过度
- inline元素不支持transform,需要先改变成block
transform: translate
- translateX(像素(px) / 百分比(%))
- translateY(像素(px) / 百分比(%))
- translate(<像素 / 百分比>,<像素 / 百分比>?)
- translateZ(像素) 且父容器加perspective
- translate3d(x,y,z)
经验:
- 多看MDN语法
- translate(-50%,-50%)可做绝对定位元素居中
#demo{
left:50%;
top:50%;
transform:translate(-50%,-50%);
}
transform: scale
- scaleX(倍数)
- scaleY(倍数)
- scale(倍数,倍数)
经验:
- 用得较少,容易出现模糊
transform: rotate
- rotate([<angle> | <zero> ])
- rotateZ([<angle> | <zero> ])
- rotateX([<angle> | <zero> ])
- rotateY([<angle> | <zero> ])
- rotate3d
经验:
- 一般用于360°旋转制作loading。
transform: skew
- skewX([<angle> | <zero> ])
- skewY([<angle> | <zero> ])
- skew([<angle> | <zero> ],[<angle> | <zero> ]?)
经验:
- 用得较少
transform 可以组合使用
- transform:scale(0.5)translate(-100%,-100%);
- transform:none;取消所有
transition 过渡
作用
- 补充中间帧
语法
- transition: 属性名 时长 过渡方式 延迟
- transition: left 200ms linear
- 可以用逗号分隔开两个不同的属性
- transition: left200ms,top400ms
- 可以用all代表所有属性
- transition: 200ms
- 过渡方式有: linear|ease|ease-in|ease-out|ease-in-out|**cubic-bezier|step-start|step-end|steps,具体含义要靠数学知识
并不是所有的属性都能过度
- display: none => block 不能过渡
- 要改成visibility: hidden => visible
- background 颜色可以过渡
- opacity 透明度可以过渡
二. animation
缩写语法
- animation: 时长 | 过渡方式 | 延迟 | 次数 | 方向 | 填充模式 | 是否暂停 | 动画名
- 时长: 1s 或者 1000ms
- 过渡方式: 跟transition的取值一样,如linear
- 次数: 3 或 n 或者 infinite
- 方向: reverse | alternate | alternate-reverse
- 填充模式: none | forwards | backwards | both
- 是否暂停: paused | running
- 这些属性都有对应的单独属性
使用animation
- 声明关键帧 @keyframes xxx
- 添加动画 animation:xxx
如何让动画停在最后一帧
- 给animation加个forwards
@keyframes 完整语法
- 一种写法是from…to
- 另一种写法是百分数
本文为作者本人的原创文章,著作权归作者本人和饥人谷所有,转载务必注明来源。
- 上一篇:CSS知识点总结
- 下一篇:JavaScript 常用功能总结
相关推荐
- 历数高通骁龙哪些处理器会继续风光或爆发于2015年
-
【处理器】高通骁龙810处理器规格谁是最快的手机处理器”目前尚存争议,但很快,这个问题将不会再有第二个答案,高通在Comput全新的旗舰产品骁龙810/808,我敢打赌,这绝对是有史以来性能最为强大的...
- S6新赛季第一周数据一览:五大赛区风格大揭秘
-
【本文系友站星竞界LOL站独家稿件,未经授权严禁商业转载,否则将追究法律责任】(原文地址)一、BAN角排名这里统计的是各赛区的前十名BAN角,那我们可以从这其中总结出的信息有:①Ryze、GP、Lu...
- 到户外来场派对吧!Bose SoundLink Max手提音箱
-
近日,Bose经典的便携式蓝牙音箱SoundLink系列迎来新成员——BoseSoundLinkMax。正如名字中的“Max”一样,它应该是我体验过体积最大的SoundLink系列产品了。12cm...
- 第二周数据整理 揭秘五大赛区风格区别
-
一、BP率排名这里统计的是各赛区BP率占据前十的角色,从这其中我们可以了解到,统治赛场的到底是哪些角色:S-tier(S级):瑞兹、船长、Lulu、牛头,四大魔头稳定占据BP榜的前五名。A-tier(...
- 飞利浦全新5000系列电须刀评测,权威平台齐赞全能理容
-
“看脸时代”,男人的面子问题一路影响到竞争激烈的职场。需要清爽干练的形象助你获得宝贵职场优势?光剃须当然是不够的!全球男士理容领导品牌飞利浦,推出全新5000系列多功能电须刀,创新Turbo+劲能加速...
- 美国研发柔性屏幕手机,宣称让苹果、三星无还手之力
-
得力于三星的曲面屏让原来已经是红海的智能手机树立新的标杆。曲面屏,一方面被认为是提高手机舒适度、创新用户使用页面呈现等的“革命性”产品和技术。但是这些还不够,可是就在这几天,美国的手机制造商BLU在I...
- ECC给i.MXRT1170 FlexRAM带来了哪些变化?
-
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是恩智浦i.MXRT1170上Cortex-M7内核的FlexRAMECC功能。ECC是“ErrorCorrectingCode”...
- 三星Note 4电池续航测试 “爷爷辈”爱抢镜
-
【巴士数码】9月30日讯:近日韩国媒体PlayWare对三星GalaxyNote4的电池续航能力进行了一番检验。他们测试的是在韩国本土销售的Exynos版本,型号SM-N910,配备电池规格322...
- 【专题】总有一种适合你,16款家庭影院扬声器推荐(连载2)
-
前情回顾Bowers&Wilkins宝华韦健FormationUltimateMovieCollection/Panorama3如果你是90后年轻人,追求时尚,追求简洁,那么Bowers...
- 日产免提短信助手:食之无味,弃之可惜
-
开车时想发短信了怎么办?估计不少人都能想到语音命令。日产最近在它的NissanConnect上也更新了一个功能:免提短信助手。可以在开车的时候通过语音控制的方法来输入短信,在美国,这项功能前三年免费,...
- 多店铺运营必看!5个工具轻松规避平台风控
-
在跨境电商和无货源模式日益火热的今天,越来越多的卖家开始布局多店铺运营,以分散风险、提高收益。然而,多店铺运营最让人头疼的问题之一就是各大电商平台的风控。**如何合理规避风控,确保店铺长期稳定运营?*...
- 杭州骄傲!出生14个月查出脑瘫,17岁破了世界纪录,两枚金牌!妈妈的话令人瞬间破防
-
10月24日,杭州运动员诸吉在全国第十一届残疾人运动会暨第八届特殊奥林匹克运动会上,奋力拼搏,取得女子20分4*50米自由泳接力第一名,并超世界纪录;女子S5级200米自由泳第一名、50米自由泳第三名...
- 双轮电动车选什么品牌好?爱尔威S5
-
很多人都在跟小编抱怨说一款合心意的代步工具怎么就那么难找,其实,想拥有一款满意的代步产品很简单。今天小编就给各位推荐一款代步性能非常出色的代步工具,它就是爱尔威S5越野平衡车。爱尔威S5越野平衡车,全...
- 铁威马TRAID阵列管理工具,更高的磁盘空间利用率
-
数字化时代,数据量也在迅速的增长,NAS网络存储的出现,就很好的解决了数据存储刚需,利用NAS存储数据成为越来越多人的选择。但随着存储数据量的增长,在我们购入更大容量的硬盘时,也希望旧的硬盘也能继续发...
- 兼具两项稀有配置的松下S5M2X(松下s5 参数)
-
大家好,我是ET,欢迎来到相机笔记。在目前的全画幅微单相机中,松下S5M2X兼具两项“稀有配置”:其一,它与S5M2都内置了小型散热风扇,长时间录制视频/流媒体传输不过热。其二,它能将视频直接录制到移...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 基础教程 (29)
- HTML 简介 (30)
- HTML 响应式设计 (31)
- HTML URL 编码 (32)
- HTML Web 服务器 (31)
- HTML 表单属性 (32)
- HTML 音频 (31)
- HTML5 支持 (33)
- HTML API (36)
- HTML 总结 (32)
- HTML 全局属性 (32)
- HTML 事件 (31)
- HTML 画布 (32)
- HTTP 方法 (30)
- 键盘快捷键 (30)
- CSS 语法 (35)
- CSS 选择器 (30)
- CSS 轮廓 (30)
- CSS 轮廓宽度 (31)
- CSS 谷歌字体 (33)
- CSS 链接 (31)
- CSS 中级教程 (30)
- CSS 定位 (31)
- CSS 图片库 (32)
- CSS 图像精灵 (31)