transition属性详解

今天由于上午有事,只能晚上写文章了,今天借助前两天讲的伪类,总结一下transition属性,这样做出来的页面效果会更加美观一些,可能会有不足的地方,欢迎大佬补充。

transition属性的格式:


transition:transition-property,transition-duration,transition-timing-function,transition-delay;

它的四个过渡属性是这样的意思:

transition-property:规定设置过渡效果的属性名称。

transition-duration:规定完成这个过渡效果需要多少秒或者毫秒。

transition-timing-function:规定这个过渡效果的速度曲线。

transition-delay:规定过渡的延迟时间。

过渡的动画类型主要有:

linear:线性过渡。

ease:平滑过渡。

ease-in:逐渐加速。

ease-out:逐渐减速。

ease-in-out:先加速后减速。

他们的属性介绍主要是:

linear:规定以相同的速度开始至结束的过渡效果。

ease:规定慢速开始逐渐变快然后慢速结束的过渡效果。

ease-in:规定以慢速度开始的过渡效果。

ease-out:规定以慢速度结束的过渡效果。

ease-in-out:规定以慢速开始至结束的过渡效果。

我们做一个小例子,我们利用伪类,当光标移动在div上,背景颜色由红色变成绿色:

<style>
   .div1{
     width: 100px;
     height: 100px;
     background-color: red;
     transition: background-color 2s linear;
   }
   .div1:hover{
     background-color: green;
   }
 </style>
</head>
<body>
  <div class="div1"></div>
</body>

运行结果:



总体来说:transition属性还是搭配伪类用的比较多,比如hover、:focus,但是也常会用到javascript、@madia触发。transition和javascript的结合更为强大。js用来设定要变化的样式,transition则负责动画效果。我们一般都在css里面写transition,transition属性可以指定参与的过渡属性,过度时间,过渡延迟时间以及过渡动画类型等。

在写代码的时候发现transition-property属性不显示,我后来去博客查了查,才知道目前的主流浏览器,需要我们在实际开发中加浏览器厂商的前缀。我们举个例子。

.lzr{
 -webkit-transition: backgorund 0.5s ease 0;
 -moz-transition: backgorund 0.5s ease 0;
 -ms-transition: backgorund 0.5s ease 0;
 transition: backgorund 0.5s ease 0;
 }

写完了,看看浏览器端,IE没问题,chrome没问题,火狐也没问题,Opera问题来了,居然没有效果,最后发现Opera要这样写:


-o-transition: backgorund 0.5s ease 0s;

大家看到差异了吗?

我总结一下:

火狐:-moz-

IE:-ms-

chrome:-webkit-

opera:-o-

今天我们就先总结这些,大家好好消化。明天我们总结一下css的渐变(gradients),希望大家可以关注我一下,我们从最基础学起。把基础打牢固,然后我们再进阶。

最后认识一下吧,我叫吕恣瑞,分享web开发知识以及学习经验,关注我,你可以有质的飞跃。

我给大家准备了很多学习资料,在公众号主页:

回复【领取福利】,我为大家准备了很多学习资料,比如ppt,python实战,web基础学习,原生js特效,css特效等

回复【进群交流学习】,添加助理微信,助理会拉大家进群,群里有很多公众号号主,学校老师,web领域开发者,不懂得可以发群里,大家一起讨论学习。

我们在web前端相遇,我们也要在web精进这方面成为彼此最好的老师。

感谢大家关注!!!

不清楚地朋友可以参考学习资料领取点击这里


transition属性详细讲解_css

她的码农

排版

吕恣瑞

技术分享

transition属性