atan2()
atan2() CSS 函数是一个三角函数,它返回两个介于 -infinity 和 infinity 之间的值的反正切值。该函数接受两个参数,并返回表示介于 -180deg 和 180deg 之间 <angle> 的弧度数。
语法
css
/* Two <number> values */
transform: rotate(atan2(3, 2));
/* Two <dimension> values */
transform: rotate(atan2(1rem, -0.5rem));
/* Two <percentage> values */
transform: rotate(atan2(20%, -30%));
/* Other values */
transform: rotate(atan2(pi, 45));
transform: rotate(atan2(e, 30));
参数
atan2(y, x) 函数接受两个逗号分隔的值作为其参数。每个值可以是 <number>、<dimension> 或 <percentage>。两个值必须是相同类型,但如果它们是 <dimension>,则它们可以是不同的单位(例如:atan2(100px, 5vw) 是有效的)。
y-
点的 y 坐标。计算结果为
<number>、<dimension>或<percentage>。 x-
点的 x 坐标。计算结果为
<number>、<dimension>或<percentage>。
返回值
给定两个值 x 和 y,函数 atan2(y, x) 计算并返回正 x 轴与从原点到点 (x, y) 的射线之间的 <angle>。
正式语法
<atan2()> =
atan2( <calc-sum> , <calc-sum> )
<calc-sum> =
<calc-product> [ [ '+' | '-' ] <calc-product> ]*
<calc-product> =
<calc-value> [ [ '*' | / ] <calc-value> ]*
<calc-value> =
<number> |
<dimension> |
<percentage> |
<calc-keyword> |
( <calc-sum> )
<calc-keyword> =
e |
pi |
infinity |
-infinity |
NaN
示例
旋转元素
atan2() 函数可以用于 rotate 元素,因为它返回一个 <angle>。
HTML
html
<div class="box box-1"></div>
<div class="box box-2"></div>
<div class="box box-3"></div>
<div class="box box-4"></div>
<div class="box box-5"></div>
CSS
css
div.box {
width: 100px;
height: 100px;
background: linear-gradient(orange, red);
}
div.box-1 {
transform: rotate(atan2(3, 2));
}
div.box-2 {
transform: rotate(atan2(3%, -2%));
}
div.box-3 {
transform: rotate(atan2(-1, 0.5));
}
div.box-4 {
transform: rotate(atan2(1, 0.5));
}
div.box-5 {
transform: rotate(atan2(1rem, -0.5rem));
}
结果
规范
| 规范 |
|---|
| CSS 值和单位模块第 4 级 # trig-funcs |
浏览器兼容性
加载中…