CSS cubic-bezier() 函数 详解
css3基础 2023-07-29 16:33:08小码哥的IT人生shichen
CSS cubic-bezier() 函数
实例
从开始到结束变速的过渡效果:
div {
width: 100px;
height: 100px;
background: red;
transition: width 2s;
transition-timing-function: cubic-bezier(0.1, 0.7, 1.0, 0.1);
}
完整实例【亲自试一试】:
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 100px;
height: 100px;
background: red;
transition: width 2s;
transition-timing-function: cubic-bezier(0.1, 0.7, 1.0, 0.1);
}
div:hover {
width:300px;
}
</style>
</head>
<body>
<h1>cubic-bezier() 函数</h1>
<p>将鼠标悬停在下面的 div 元素上,来查看过渡效果。</p>
<div></div>
<p><b>注释:</b>本例在 Internet Explorer 9 以及更早的版本中无效。</p>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
定义和用法
cube-bezier() 函数定义三次贝塞尔曲线(Cubic Bezier curve)。
三次贝塞尔曲线由 P0、P1、P2 和 P3 四个点进行定义。P0 和 P3 是曲线的起点和终点,在 CSS 中,这两个点是固定的,因为坐标是成比例。P0 为 (0, 0),代表初始时间和初始状态,P3 为 (1, 1),代表最终时间和最终状态。
其余的中间点 P1(x1,y1)、P2(x2,y2) 是可以动态改变的两个点,对应 cubic-bezier(x1,y1,x2,y2) 中的四个参数,通过改变 P1、P2 两点的坐标值来动态生成的贝塞尔曲线表示动画中的速度变化。
可以将 cubic-bezier() 函数与 animation-timing-function 属性和 transition-timing-function 属性一起使用。
版本: | CSS3 |
---|
浏览器支持
表格中的数字注明了完全支持该功能的首个浏览器版本。
函数 | |||||
---|---|---|---|---|---|
cubic-bezier() | 4.0 | 10.0 | 4.0 | 3.1 | 10.5 |
CSS 语法
cubic-bezier(x1,y1,x2,y2)
值 | 描述 |
---|---|
x1,y1,x2,y2 | 必需。数值。x1 和 x2 必须是 0 到 1 之间的数字。 |