css3 转换 、 过渡 、 动画 、 CSS 优化

1. 转换的原点

默认在中心点;

修改原点:transform-orign:

值:

1.x坐标 y坐标

当前物体左上角为x:0px y:0px;

2.宽度百分比 高度百分比

0%  0%  左上点

50% 50% 中心点

3.关键字:

top

bottom

left

right

center 中间 默认

left top 左上点

4.如果只给一个值,x坐标和y坐标相同;

两     x坐标 y坐标

三     x坐标 y坐标 z坐标

2.转换 2d

形状 尺寸 位置

transform:

旋转:rotate()

位移:translate()

缩放:scale()

倾斜:skew()

- 旋转:围绕参照原点,旋转指定角度,默认顺时针;

语法:transform:rotate(ndeg);

n为正 顺时针旋转

n为负 逆时针旋转

*************   rotate 不但能够旋转元素,同时能够旋转绘图的坐标系方向;如果配合其他的变形一起做的话,会影响之后延坐标值得其他变形。

解决方案:将rotate()放在最后;用空格区分;

- 位移:延坐标方向 移动指定距离

语法:translate(x轴移动距离,y轴移动距离);

x: 右为正 左为负

y:下为正 上为负

************    translate 不会影响其他元素为止,但可能会盖住其他位置;

其他两个单方向移:

translateX(距离)

translateY(距离)

- 缩放:将坐标轴上的坐标指定缩放的倍数;

语法:scale(倍数)

倍数:0-1之间的小数是缩小,>1放大;

等比缩放;

其他两个单方向缩放:

scaleX()

scaleY()

transform:scale(2); 扩大2倍;

- 倾斜:沿着坐标轴上的方向,倾斜指定角度;

语法:skew(ndeg);仅沿着X轴倾斜

skew(ndeg,ndeg);沿着X轴 Y轴倾斜

其他两个单方向倾斜:

skewX()

skewY()

************  X轴:角度为正 向左倒

角度为负 向右倒

************  Y轴:角度为正 向上倒

角度为负 向下倒

3.转换 3d

坐标轴:x坐标 y坐标 z坐标

属性:

perspective

设定假定的人眼位置到投影平面的距离;

如何使用:

设置在父元素上;

浏览器兼容:

chrom,safari:-webkit-perspective

firefox:-moz-perspective

- 位移:3D位移,可以改变元素在Z轴上的位置;

translateX(x)

translateY(y)

translateZ(z)

translate3d(x,y,z)

- 旋转:rotate()

rotateX(ndeg);

rotateY(ndeg);

rotateZ(ndeg);

- 缩放:scale()

scaleZ(z)

scale3d(x,y,z)

4.过渡

transition

过渡四要素:

- 过渡属性

background,color,transform,width,height,opacity,

- 过渡需要时间

- 过渡函数:速度 方式

- 过渡延迟时间:激发操作后执行间隔(s/ms)

1.过渡属性

transition-property:background,color;

2.过渡时间

transition-duration:5s 10ms;

3.过渡函数

transition-timing-function:

备选值:

ease;            慢-快-慢;

linear;          匀速

ease-in; 慢-快 (加速)

ease-out;      快-慢 (减速)

ease-in-out;     慢-加速-减速-慢

4.过渡延迟

transition-delay:5s/ms;

5.整合transition属性:

transsition:属性名 持续时间 过渡函数 过渡延迟,属性名 持续时间 过渡函数 过渡延迟;

5.关键帧动画

关键帧:动画执行过程中,物体在某一位置上的特殊状态;

关键帧动画:使用连续的关键帧,控制物体联系的状态变化;

用处:

1.连续有规律 -- 过渡 transition

2.无规律的连续变化 -- 动画 animation

实现:

1.定义关键帧:

@keyframes 动画名{

from/0%{

动画开始状态

css样式

}

percent(关键点){

css样式

}

to/100%{

动画结束状态

css样式

}

}

实例:

@keyframes change{

0%{

background:red;

}

10%{

background:orange;

}

50%{

background:yellow;

}

80%{

background:green;

}

100%{

background:blue;

}

}

浏览器兼容:

@keyframes : IE FF;

@-webkit-keyframes : chrome safari;

@-o-keyframes : opera;

2.触发动画

animation

animation:动画名 持续时间 速度类型 延迟;

使用:

1.写在非伪类的选择器里,页面加载就执行动画;

2.写在伪类中,伪类触发则执行动画;

浏览器兼容:

animation : IE FF;

-webkit-animation : chrome safari;

-o-animation : opera;

3.动画子属性:

- animation-name:@keyframes(动画)名称;

- animation-duration:动画时长;

- animation-timing-function:动画速度

- animation-dalay:动画延迟时间

- animation-iteration-count:播放次数

值:

数值

infinite 无限次;

- animation-direction:动画播放方向;

值:

normal    正常播放

alternate 轮流播放

- 奇数次数 正向播放;

- 偶数次数 反向播放;

animation:动画名 持续时间 速度类型 延迟 播放次数 动画播放方向;

- animation-fill-mode: 播放前后效果;

值:

none 不改变默认行为;

forwards:动画完成后保证最后一个属性状态;

backwards:动画播放前,显示开始属性;

both

- animation-play-state: 控制动画播放与暂停

值:

paused 暂停

running 播放

使用场合:

- 配合伪类

- 结合js使用;

6.css优化;

1. 减少HTTP请求个数;

- 合并背景图到一个图像;

2. 页面顶部引入css;

3. 将css与js放到外部文件(引入外部文件,客户端会缓存);

4.css代码优化

- 合并样式;

- 缩写样式文件;

- 减少样式重写

- 代码压缩(工具)

- 不要再html中缩放图像(改变图像大小);影响图像传输;

- 避免空的src和href;

时间: 2024-08-28 05:05:55

css3 转换 、 过渡 、 动画 、 CSS 优化的相关文章

css3变形 过渡 动画

CSS3 变形/变换 相关属性 transform 设置或检索对象的检索(none 2D 3D) transform-origin:设置或检索对象以某个原点进行检索 transform-style: flat(默认)指定子元素位于次元素所在平面内/preserve-3d 指定子元素定位在三维空间内 perspective: 长度单位 指定观察者距离平面的距离 perspective-origin 指定观察者的位置 left/right/center backface-visibialbe: vi

CSS3带过渡动画特效的垂直导航菜单怎么写?

清明节已过,开始努力工作学习!!DOCTYPE html> CSS3带动画特效的垂直导航菜单 标签定义文档与外部资源的关系 rel:规定当前文档与被链接文档之间的关系 href: 规定被链接文档的位置.超文本链接引用 a标签作用:超链接可以包裹任何东西 div span:容器功能:1,结构化分文别类2.绑定化操作--> 注册蓝轨迹培训中心 WEB前端.后端.移动端.微信开发 寻找更多好课 WEB前后端基础课.进阶课.高级课 今日最新优秀课程 每日更新更多.更优秀的开发课 我学习过的课程 我爱学

4种纯CSS3超酷页面切换过渡动画特效

这是一款4种效果非常炫酷的纯CSS3页面切换过渡动画特效.该CSS3页面过渡动画使用CSS keyframes制作而成,所有的动画效果和延时都是使用CSS属性,没有任何的javascript timeout()代码. 所有的4个页面切换效果都使用相同的js文件(用于点击事件和页面关闭事件)和CSS文件.每个demo的class名称略有区别.所有的demo都在 Chrome.Safari.Firefox.Opera.IE11 和 IE10浏览器上做了测试(还有iOS也做了测试). 效果演示:htt

关于v4包的Fragment过渡动画的事件监听无响应问题解决

项目中部分功能模块采用了单Activity+多Fragment模式,当Fragment切换时,需要在过渡动画执行完后做一些操作,通常就是在自己封装的FragmentBase中重写onCreateAnimation方法,创建一个Animation对象,并添加动画的事件监听.而最近升级了v4包后,突然发现添加的动画事件监听无响应了.通过查看源码,发现在v4包中关于Fragment管理类FragmentManagerImpl中,在获取Animation对象后,也添加了对动画的监听事件,也就覆盖了我自己

css3 转换transfrom 过渡transition 和两个@

做了一个demo.用到一些css3的动画,还是不太熟练,总结了一下. 1. -webkit-font-smoothing: antialiased; -webkit-font-smoothing: none: 无抗锯齿 -webkit-font-smoothing: subpixel-antialiased | default: 次像素平滑 -webkit-font-smoothing: antialiased: 灰度平滑 2.    -webkit-perspective: 800px; 设置

Css中的变形及过渡动画

在css3的标准中新增加了变形样式,这些样式使得网页中各元素的位置形状的变换变得更加容易.其语法如下: transform:none | <transform-function>+ 其中对于<transform-function>这一属性值,css中规定了4类常用变换 1.translate() 该值指定对象的2D translation(2D平移).第一个参数对应X轴,第二个参数对应Y轴.如果第二个参数未提供,则默认值为0 . 例: .exp{ width:150px; heig

jQuery和CSS3全屏带过渡动画效果的模态窗口插件

animatedModal.js是一款效果非常炫酷的jQuery和CSS3全屏带过渡动画的模态窗口特效插件.该模态窗口插件和animate.css完美结合,你可以使用animate.css中的任何动画效果来制作该模态窗口的过渡动画效果. 在线演示:http://www.htmleaf.com/Demo/201503031453.html 下载地址:http://www.htmleaf.com/jQuery/Lightbox-Dialog/201503031452.html

css3的过渡和动画的属性介绍

一.过渡 什么是过渡? 过渡是指:某元素的css属性值在一段时间内,平滑过渡到另外一个值,过渡主要观察的是过程和结果. 设置能够过渡的属性: 支持过渡的样式属性,颜色的属性,取值为数值,transform,渐变,visibility, 阴影 指定本次过渡生效的属性: transition-poperty:上面的css属性/all 指定过渡的时长 transition-duration:过渡时长/s/ms 指定过渡时间曲线函数 transition-timing-function: 1.ease

CSS基础篇之背景、过渡动画

background-origin(背景原点) 设置元素背景图片的原始起始位置.必须保证背景是background-repeat为no-repeat属性才能生效. background-origin:border-box|padding-box|content-box: border-box 这是用border-box时图片位于边框左上角 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g