2 月底萬維網(wǎng)聯(lián)盟(W3C)CSS 工作組會議宣布了一項決議,批準在 CSS 標準中加入一批新函數(shù)翎卓,其中包括:
- 正弦函數(shù) - sin()
- 余弦函數(shù) - cos()
- 正切函數(shù) - tan()
- 反余弦函數(shù) - acos()
- 反正弦函數(shù) - asin()
- 反正切函數(shù) - atan()
- 使用兩個參數(shù) x 和 y 的反正切函數(shù) - atan2()
- 平方根函數(shù) - sqrt()
- 參數(shù)平方和的平方根函數(shù) - hypot()
- 開方 - pow()
2001 年 CSS 的升級版本 CSS 3 發(fā)布以來摆寄,Web 開發(fā)人員對 CSS 的利用變得越來越自由多變,不再局限于簡單地布局網(wǎng)頁逗扒,CSS 3 帶來的新變化主要包括盒子模型欠橘、列表模塊、超鏈接方式肃续、語言模塊、背景和邊框刽酱、文字特效瞧捌、多欄布局等模塊,大大豐富了開發(fā)者的想象力與創(chuàng)造力殿怜。
比如 CSS 現(xiàn)在能夠編寫復(fù)雜的動畫曙砂,并支持像 Adobe Photoshop 中那樣高級的圖像濾鏡。雖然目前 CSS 標準已經(jīng)支持以下數(shù)學(xué)函數(shù):
- 計算基本表達式 - calc()
- 返回最小值 - min()
- 返回最大值 - max()
- 獲取上限和下限之間的中間值 - clamp()
但是這遠遠不夠鸠澈,開發(fā)者一直需要它擁有處理圖形角度并執(zhí)行一些更高級數(shù)學(xué)運算的能力,以往這些需要從 JavaScript 層或預(yù)處理器去處理,但顯然開發(fā)者更希望使用原生 CSS 語法去做這些事情新锈,這樣可以更加簡單的方法處理角度并同步復(fù)雜的動畫序列眶熬,而無需編寫自定義 JavaScript 代碼或加載龐大的動畫庫或游戲引擎块请。
在開發(fā)者強烈的要求下拳缠,W3C CSS 工作組終于正式宣布批準在 CSS 標準中加入了一系列數(shù)學(xué)運算函數(shù)。
看到這樣的消息窟坐,不少開發(fā)者都沸騰了哲鸳。在 Reddit 上他們展開了熱烈的討論,戳這里看討論徙菠。
有人認為這很自然,下一步顯然是復(fù)數(shù)支持缺狠,然后是向量/矩陣萍摊,在能夠使用 CSS 直接做出一款怪獸級別的項目之前,他們便不會滿意记餐;樓下就有人拋出了一個幾周前發(fā)布的項目,并指出雖然談不上怪獸級片酝,但是它完全采用 CSS 實現(xiàn)了 3D 效果。
反對派則表示:為什么 CSS 要這樣搞练湿?我認為 CSS 是用于將樣式應(yīng)用于 HTML 文檔的東西审轮,計算等操作應(yīng)該在 JS 中完成。 他認為 CSS 應(yīng)該輕量級篡诽,孤立的 Chrome 實例意味著不同的視圖不能共享內(nèi)存榴捡,所以必須復(fù)制一大堆東西,這樣會導(dǎo)致內(nèi)存冗余。
有人回復(fù)他:
- 一些 CSS 動畫可以使用 GPU 的資源來執(zhí)行翰蠢,從而釋放 CPU 以用于其它事情啰劲。
- JavaScript 是單線程的,CSS 動畫可以放棄對轉(zhuǎn)換的精細控制廷支,以釋放主線程猖辫。
還有一些人拋出一個觀點,認為這直接變成了 CSS 的 TensorFlow binding:Tensorflow.css啃憎。
此外還有人認為官方是想讓 Sass 中的所有內(nèi)容成為 CSS 中的標準辛萍,也有人順手吐槽了一把 Firefox:RIP my Firefox。
新的 CSS 三角函數(shù)還需要一段時間過渡贩毕,但是可以在以下網(wǎng)站上查看自己使用的瀏覽器是否已經(jīng)支持。點這里先壕。
對于CSS的新功能谆甜,你們怎么看呢?歡迎留言區(qū)討論谆棺,留言有福利哦罕袋。
福利詳情:截至2019年3月14號下午8點整,我會從評論區(qū)留言中選取兩位高質(zhì)量留言的小伙伴浴讯,分別送出5個簡書貝,中獎的小伙伴我會通過簡信通知你侍郭,簡書貝最遲會在2019年3月15號中午12點整送出。歡迎大家積極參與討論。
看完文章留完言唠摹,還還還有福利拿,往下看??????
感興趣的小伙伴可以在公號【grain先森】后臺回復(fù)【190313】獲取HTML5詳解煮甥、CSS3詳解和Vue詳解及實戰(zhàn)項目藕赞,可以轉(zhuǎn)發(fā)朋友圈和你的朋友分享哦。