CSS3特效之转化(transform)和过渡(transition)

在对动画深入之前,我们需要先了解它的一些特性,CSS3的转化(transform)和过渡(transition)。有人可能会有疑问,CSS3动画不是只有animation一个属性吗?怎么又和转化(transform)和过渡(transition)扯上关系了,其实并非如此,转化(transform)属性让动画的变换多元化,而过渡(transition)属性是动画中的一种表现形式,也可以说成是动画一个版本。多元化相信大家都能理解,这边就不提了,为什么说过渡(transition)属性是动画的一个版本?这个在了解了转化(transform)和过渡(transition)基本知识后,我再陈述其中的原因。

言归正传,现在我们就开始认识下CSS3中的转化(transform)和过渡(transition)两个属性。

开发商前缀的特定浏览器样式

理解CSS3属性之前,我们需要先理解什么是开发商前缀,为什么会有开发商前缀?开发商前缀顾名思义和各大浏览器的开发商相关,是各大浏览器用来标识自身的一种特殊标记。那么为什么会出现开发前缀这种标记呢?其实这和CSS3标准制定流程有关系,制定CSS标准的那群人在引入新功能时,需要听取浏览器开发商和Web设计人员的反馈,之后更需要让浏览器开发商和Web设计人员实现不完美的功能,这样就会形成一个试验和反馈循环。在此期间,Web设计人员使用新功能在网站中,如果将来标准发生改变,就会导致网站无法使用,所有浏览器开发商就使用了开发商前缀的方法来避免这一问题的发生。

开发商前缀:

转化(transform)

定义和用法:transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜

transform 2D转换方法:

浏览器支持:

  • Internet Explorer 10、Firefox、Opera 支持 transform 属性。
  • Internet Explorer 9 支持替代的 -ms-transform 属性(仅适用于 2D 转换)。
  • Safari 和 Chrome 支持替代的 -webkit-transform 属性(3D 和 2D 转换)。
  • Opera 只支持 2D 转换。

过渡(transition)

定义和用法:transition 属性是一个简写属性,用于设置四个过渡属性:transition-property、transition-duration、transition-timing-function、transition-delay

语法:transition: property duration timing-function delay;

属性值:

测试Demo

HTML代码:

    <div class="box"><span class="circle"></span> </div>

CSS代码:

        .box{width: 360px; height: 100px; background-color: palegreen; text-align: center; position: relative; } .box .circle{ position: absolute; width: 30px; height: 30px; border-radius: 30px; background-color: pink; left: 0; top: 35px; -moz-transition:ease-out 1s; -o-transition:ease-out 1s; -webkit-transition:ease-out 1s; transition:ease-out 1s; } .box:hover .circle{ left: 270px; background-color: red; -moz-transform:scale(1.5); -o-transform:scale(1.5); -webkit-transform:scale(1.5); transform: scale(1.5); }

动画替代过渡(transition)属性

CSS代码(只做测试,不考虑各大浏览器的前缀)

        .mouse-over{animation:moveR ease-out 1s forwards; } .mouse-out{ animation:moveL ease-out 1s forwards; } @keyframes moveR { from{left: 0;} to{left: 270px;} } @keyframes moveL { from{left: 270px;} to{left: 0;} }

过渡(transition)可以分解为两个动画效果在不停的相互交换,鼠标移入时的效果等同于添加动画.mouse-over,移出是等同添加动画.mouse-out。当然在过渡(transition)中DOM节点所到达的目标位置和运行的时间相关,所有如果需要精确分解整个动画过程,相对还是比较复杂的。

总结

转化(transform)是为了丰富DOM节点的变换方式,过渡(transition)是操作DOM节点样式的运动。在当下,大量的浏览器会涉及到动画,都会采用CSS3新特性来实现,相对于JQuery封装的动画效果它的运动更加流畅,减小JQuery带来的计算负荷。对于移动端,CSS3新特性使用更加普遍,为了能更好的渲染网站,很多优秀的前端工程师都会选择对应的属性来调取手机GPU,让这些效果被渲染的更流畅。

转载于:https://www.cnblogs.com/sunwk/p/8781708.html

CSS3特效之转化(transform)和过渡(transition)相关推荐

  1. html5 过渡时间,CSS3 对过渡(transition)进行调速以及延时

    1,使用调速函数控制过渡效果的速度曲线(加速,减速等) 使用调速函数可以设置过渡效果的速度曲线,从而实现过渡效果随着时间来改变其速度.比如:开始很慢然后加速或者开始很快然后减速. (1)CSS3定义了 ...

  2. html过渡的触发机制是什么,CSS3过渡 transition

    之前我们整理了CSS3中的动画属性 Transform 转换,今天我们接着一起来看看CSS3中的另一个动画属性 Transition 过渡. W3C标准中对css3的transition这是样描述的: ...

  3. CSS3 过渡(Transition)

    过渡 transition 复合属性,使CSS属性值在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果 取值: <'transitio ...

  4. css3-12 transition+css或transform实现过渡动画

    css3-12 transition+css或transform实现过渡动画 一.总结 一句话总结:首先要设置hover后的效果,然后在transition里面指定执行哪些样式和执行时间为多长. 1. ...

  5. css3特效:阴影、渐变、过渡、变形、滤镜

    目录 阴影(shadow) box-shadow.text-shadow 实例:实现效果 text-stroke: 渐变(gradient) linear-gradient.radial-gradie ...

  6. html中2d变形兼容性,CSS3(3)---2D变形(transform)

    CSS3(3)---2D变形(transform) 2D变形是CSS3中具有颠覆性的特征之一,它常用的属性有:移动(translate).缩放(scale).旋转(rotate).倾斜 (skew). ...

  7. html怎么设置过渡字体,web前端入门到实战:css3基础-文本与字体+转换+过渡+动画+案例...

    Css3文本与字体 文本阴影 h1 { text-shadow: 5px 5px 5px red; } word-break换行: h1:nth-child(1) { word-break: norm ...

  8. 过渡transition,transform2D转换,3D旋转

    目录 过渡,2D转换 transform 属性效果 缩放transform:scale 位移 transform: translate 旋转:transform:rotate 倾斜 transform ...

  9. 放大 旋转 css3,CSS3详解:transform 的旋转、旋转放大、放大、移动

    CSS3 transform是什么? transform的含义是:改变,使-变形:转换 CSS3 transform都有哪些常用属性? transform的属性包括:rotate() / skew() ...

最新文章

  1. 视觉SLAM直接法与特征法及其在多传感融合中的思考
  2. 从咨询公司学到的思考分析方法
  3. java 集合 介绍_java集合类基本简介
  4. java spring context_java将对象注册到spring context中 | 学步园
  5. 图像添加Beta分布噪声
  6. 关于public class 类名{ public static void main(String[] args)}的一些说明
  7. play ---------idea
  8. Web移动开发基本概念
  9. spark 部署方式
  10. 190509每日一句
  11. Atitit java播放mp3 目录 1.1. 不能直接支持mp3播放。。需要解码播放转化为pcm 1 1.2. 使用\javalayer类库播放 3 1.3. ,就是普通的java sound
  12. heatmap绘制热图时出现样本列名顺序调换
  13. unityar自动识别人脸_Unity人脸识别插件分享 | 技术贴
  14. word文档转换为md文档
  15. canvas抖音八卦时钟,轻喷
  16. Redis数据库的部署及常用命令
  17. 2006年中国笑话大全
  18. Android 圆形 ImageView
  19. java 对齐文本框_如何对齐文本框和旁边的图像按钮
  20. JavaScript商品详情介绍

热门文章

  1. 【CyberSecurityLearning 23】mail server(邮件投递原理)
  2. 深度学习搞docker真的搞的我心态炸裂
  3. 如何复制带格式的Notepad++文本?
  4. dokuwiki 部署笔记
  5. DSP学习--BCC校验(异或校验)
  6. S5PV210开发 -- UART 详解
  7. DM368开发 -- Bootloader 开发(转毕设)
  8. es java api 创建索引结构_elasticsearch - 如何使用ES的Java API来创建一个新类型的索引 - SO中文参考 - www.soinside.com...
  9. 【译】Beyond Snarks: Some Blockchain Privacy Protocols You Need to Know About
  10. 如何设计区块链项目的通证(token)模型