CSS入门级装B利器transition

据传说有研究表明凝视美女能增加寿命、放松心情、缓解压力等等好处。为啥我见了美女只会血压升高、情绪激动?难道你们所说的美女图和我理解的美女图我们不在一个频道?还是我太邪恶了?哈哈,随便搜索到一只EMT美女,放出来缓解下情绪,会更有利于集中精神来装逼。废话不多说,上图……

CSS入门级装B利器transition_第1张图片
EMT

背影杀……好吧,兴奋之后血压提高了,脑部供血也足够了。我们先不管她了,开始说今天的主题吧。CSS中有好多属性可以显得自己逼格box-shadow\text-shadowtransition、简写规则等等;中级装逼利器animation、属性选择器、伪类等等;高级装逼利器有CSS变量、正则表达式、transform等等。注意!这个标准不是单纯靠难度来划分的。

没办法在页面上没法放代码,我把效果图做成了GIF,我们来看看图:

CSS入门级装B利器transition_第2张图片
CSS入门级装B利器transition

是不是觉得自己的逼格瞬间高了起来?动画耶~ 怎么做到的呢,这就是今天要说的入门级的装逼利器transition属性。这是一个CSS3中新增的属性,从单词字面意思理解它的意思是过渡,它的定义是允许css的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值。尝试完demo,了解完定义,是不是觉得谁用谁闪亮啊,平滑的动画效果,能让交互变得更细腻亲和。

CSS入门级装B利器transition_第3张图片

transition在CSS3中算是比较强悍的属性了,当然还有其他更牛更强大的属性,有机会我专门写文章说明。今天只说它,需要注意的是Internet Explorer 9 以及更早版本的浏览器不支持transition属性。Safari需要前缀-webkit-transition属性。其他的浏览器全部支持。transitiontransition-propertytransition-durationtransition-timing-functiontransition-delay这四个属性的简写属性。简写的规则是:

transition: property duration timing-function delay;

逐个来介绍,先来说transition-property。它是设置已发生了变化的CSS属性的属性名,有点绕嘴。简单解释下就会了解。比如想要让高度height的变化有过渡效果,就写transition:height 1s;。前提是height发生了变化,例如200px→300px。如果设置了没有变化的属性就不会有任何效果渲染,例如height:200px→200px。

transition-duration是设置完成过渡需要多少时间,单位是秒s或毫秒ms。需要注意的是这货的默认是零,也就是说不设置它的话,过渡根本就不可能显示。这也是我上一段文字中transition:height 1s;会写上1s的原因,重要的地方提醒自己要牢记。小tips:1s=1000ms.

transition-duration过渡效果的速度曲线,它的存在让过渡效果出现了平滑感。这货的值有很多,贴出来看看transition-timing-function: linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier(n,n,n,n);。具体每个值的作用,我列了个表格:

描述
linear 规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。
ease 默认值;规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))
ease-in 规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))。
ease-out 规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))。
ease-in-out 规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))。
cubic-bezier(n,n,n,n) 在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。

transition-delay属性是规定过渡何时开始,单位是秒s或毫秒ms。这个很好理解,比如设置了transition-delay:1.5s;就是过渡动画1.5S之后开始。拿页面上的DEMO来说就是如果我设置了这个属性和值,那么你的鼠标移动上去后1.5s后才会出现过渡效果。小tips:CSS中整数位是0小数位非零的时候整数位可以不写,例如0.5S可以写成.5s。

如果transition需要控制的属性有多个,就需要用半角的英文逗号,将多个属性隔开。

/*单个属性设置,不设置的项为默认值。*/
transition:height 1s; 
transition:color .5s ease-in-out .5s;
/*多个属性设置。*/
transition:height 1s,color .5s ease-in-out .5s;

关于transition的知识点基本都已经都在上面了。学习的目的是应用,应用的好就会很惊艳,应用的的不好就会很狗shi,不应用的话知识点就会被慢慢遗忘。关键点在于如何应用……回顾定义我们了解到,能和这货最频繁配合的就是:hover和JS了。自身能力有限,并且本篇又是基础类的介绍。我就不整那些看上去高大上的让人费解的东西了。简单的效果有时候最能提现出很惊艳的效果。

CSS入门级装B利器transition_第4张图片

用html5中的

你可能感兴趣的:(CSS入门级装B利器transition)