2 月底万维网联盟(W3C)CSS 任务组会议宣布了一项决议,同意在 CSS 标准中参加一批新函数,其中包括:
正弦函数 - sin()
余弦函数 - cos()
正切函数 - tan()
反余弦函数 - acos()
反正弦函数 - asin()
反正切函数 - atan()
运用两个参数 x 和 y 的反正切函数 - atan2()
平方根函数 - sqrt()
参数平方和的平方根函数 - hypot()
开方 - pow()
2001 年 CSS 的晋级版本 CSS 3 发布以来,Web 开发人员对 CSS 的应用变得越来越自在多变,不再局限于复杂地规划网页,CSS 3 带来的新变化主要包括盒子模型、列表模块、超链接方式、言语模块、背景和边框、文字特效、多栏规划等模块,大大丰厚了开发者的想象力与发明力。
比如 CSS 如今可以编写复杂的动画,并支持像 Adobe Photoshop 中那样初级的图像滤镜。虽然目前 CSS 标准曾经支持以下数学函数:
计算基本表达式 - calc()
前往最小值 - min()
前往最大值 - max()
获取下限和下限之间的中间值 - clamp()
但是这远远不够,开发者不断需求它拥有处置图形角度并执行一些更初级数学运算的才能,以往这些需求从 JavaScript 层或预处置器去处置,但显然开发者更希望运用原生 CSS 语法去做这些事情,这样可以愈加复杂的办法处置角度并同步复杂的动画序列,而无需编写自定义 JavaScript 代码或加载庞大的动画库或游戏引擎。
在开发者剧烈的要求下,W3C CSS 任务组终于正式宣布同意在 CSS 标准中参加了一系列数学运算函数。
看到这样的音讯,不少开发者都沸腾了。在 Reddit 上他们展开了热烈的讨论,有人以为这很自然,下一步显然是双数支持,然后是向量/矩阵,在可以运用 CSS 直接做出一款怪兽级别的项目之前,他们便不会称心;楼下就有人抛出了一个几周前发布的项目,并指出虽然谈不上怪兽级,但是它完全采用 CSS 完成了 3D 效果。
支持派则表示:为什么 CSS 要这样搞?我以为 CSS 是用于将样式运用于 HTML 文档的东西,计算等操作应该在 JS 中完成。
他以为 CSS 应该轻量级,孤立的 Chrome 实例意味着不同的视图不能共享内存,所以必须复制一大堆东西,这样会招致内存冗余。
有人回复他:
一些 CSS 动画可以卸载到 GPU,释放 CPU 用于其它事情。
JavaScript 是单线程的,CSS 动画可以保持对转换的精细控制,以释放主线程。
还有一些人抛出一个观念,以为这直接变成了 CSS 的 TensorFlow binding:Tensorflow.css。
此外还有人以为官方是想让 Sass 中的一切内容成为 CSS 中的标准,也有人随手吐槽了一把 Firefox:RIP my Firefox。
你怎样看呢?
新的 CSS 三角函数还需求一段时间过渡,但是可以在以下网站上查看本人运用的阅读器能否曾经支持:https://caniuse.com。
【编辑引荐】
Google员工发现“蜻蜓”方案并没有彻底完毕 代码仍在更新
调查发现开发者最厌恶 PHP,最爱 Python
谷歌和OpenAI开发新工具,能更好地研讨机器视觉算法
13岁女先生被捕:因发布JavaScript有限循环代码
小米8 SE/9 SE安卓9 Pie内核源代码发布
(责任编辑:admin)