在上个月举行的一次会议上,CSS工作组已同意在CSS中引入一些三角函数。 CSS工作组于1997年由万维网联盟(W3C)创建,负责讨论CSS中的新功能和解决问题。
目前,他们已经批准了以下10项功能:
正弦函数:sin()
余弦函数:cos()
正切函数:tan()
反余弦函数:acos()
反正弦函数:asin()
反正切函数:atan()
两个参数x和y的反正切函数:atan2()
平方根函数:sqrt()
参数平方和的平方根函数:hypot()
开方:pow()
CSS不再仅限于更改颜色或字体。开发人员一直在慢慢依赖CSS来实现更复杂的任务。 CSS 3,它的大修版本,附带了几个网络动画,渐变,某些选择器等等。但是,与添加,减去,乘以或除以两个值相比,CSS缺乏处理角度和执行更高级数学运算的能力。
这个决定是在Web开发人员多次请求引入三角函数以简化涉及角度的许多用例的实现之后做出的。在同步旋转角度,角度和x/y尺寸之间转换等情况下,这些非常方便。
目前,为了实现这些用例,开发人员必须硬编码,使用JavaScript或预处理器,这很痛苦。其中一位开发人员解释了CSS中三角函数的需求,他说:“在静态标记中,解决方案是对近似值进行硬编码,但这通常会导致像素间隙或不连续性的舍入错误。在动态情况下,正如其他人所提到的,唯一的解决方案是JavaScript(对于JS函数来说,在弧度之间来回转换很多,而对于我的设计和SVG属性,有很多转换来回转换,这是我通常需要数学的唯一时间。 PI!)。“开发人员也在要求计算余切,割线和余割的互惠函数。这些将非常方便,但目前不是优先考虑的事项。
阅读CSS工作组的讨论,查看其GitHub存储库。