理解CSS3属性transition
一、说明
1.1 定义和用法
transition 属性是一个简写属性,用于设置四个过渡属性:
- transition-property:规定设置过渡效果的CSS属性的名称。
- transition-duration:规定完成过渡效果需要多少秒或毫秒。
- transition-timing-function:规定速度效果的速度曲线。
- transition-delay:定义过渡效果何时开始。
1.2 语法
transition: property duration timing-function delay;
1.3 transition-timing-function
1.3.1 语法
transition-timing-function: linear|ease|ease-in|ease-out|ease-in-out|cubic- bezier(n,n,n,n);
1.3.2 说明
- 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之间的数值。
二、示例
<style> .transition-example{ width: 500px; height: 370px; background: #ccc; padding: 10px 0; } .transition-example:hover>div{ margin-left: 90%; transform: rotate(360deg); border-radius: 5px; } .transition-example>div{ width: 50px; height: 50px; text-align: center; margin: 10px 0; background-color: blue; color: #fff; } .linear{ transition: all 5s linear; } .ease{ transition: all 5s ease; } .ease-in{ transition: all 5s ease-in; } .ease-out{ transition: all 5s ease-out; } .ease-in-out{ transition: all 5s ease-in-out; } .cubic-bezier{ transition: all 5s cubic-bezier(0.42,0,0.58,1); } </style> <div class="transition-example"> <div class="linear">linear</div> <div class="ease">ease</div> <div class="ease-in">ease-in</div> <div class="ease-out">ease-out</div> <div class="ease-in-out">ease-in-out</div> <div class="cubic-bezier">cubic-bezier</div> </div>
linear
ease
ease-in
ease-out
ease-in-out
cubic-bezier
GitHub: https://github.com/mazeyqian
Blog: https://blog.mazey.net/
Blog: https://blog.mazey.net/