如何更改CSS转换加速和减速的加速度。
例如,如果我运行此代码:
<style>
div {
width: 100px;
height: 100px;
background: red;
transition-duration: 4s;
}
div:hover {
width: 200px;
background: blue;
}
</style>
</head>
<body>
<div></div>
它以特定速度加速并以特定速度开始减速。
如何更改加速和减速的速度(不是实际的过渡时间,只是加速和减速)
答案 0 :(得分:4)
CSS3 transition-timing-function属性
transition-timing-function属性指定速度曲线 过渡效应。
此属性允许转换效果更改其速度 持续时间。
语法
transition-timing-function: ease|linear|ease-in|ease-out|ease-in-out|cubic-bezier()|initial|inherit;
答案 1 :(得分:4)
为此,您需要使用transition-timing-function
。
来自 W3C
transition-timing-function
属性描述了如何计算转换期间使用的中间值。它允许转换以在其持续时间内改变速度。这些效果通常称为缓动函数。
现在,您想要创建减速过渡。为此,您需要查看减速的位置 - 时间图并创建一个类似于它的cubic-bezier()
函数。
更改cubic-bezier
功能的值以满足您的需求。
代码段:
div {
width: 100px;
height: 100px;
background: red;
transition-duration: 1s;
transition-timing-function:cubic-bezier(0.2,0.5,0.3,1);
}
div:hover {
width: 200px;
background: blue;
}
<div></div>
答案 2 :(得分:0)
在CSS中设置transition-timing-function
:
transition-timing-function: ease-in-out;
可能的值:轻松|线性|安慰|缓和|易于进出| cubic-bezier()|初始|继承