首頁 >web前端 >css教學 >2024年:CSS在過去十年的總和還要多

2024年:CSS在過去十年的總和還要多

Lisa Kudrow
Lisa Kudrow原創
2025-03-08 09:12:13201瀏覽

2024: More CSS At-Rules Than the Past Decade Combined

撰寫文章時,我經常會意外地深入一些與主題略微相關的有趣話題。最終,我不得不忍痛刪除或存檔數小時的研究和寫作成果,因為我知道大多數讀者點擊文章時,都對內容有所預期,而我的那些與CSS無關的隨筆顯然不符合預期。

這種情況在我撰寫週一關於At-rules的文章時就發生了。我原本只是專注於幾種測試瀏覽器對CSS At-rules支持的方法。在此過程中,我開始意識到,哇,我們現在有這麼多新的At-rules——我想知道今年有多少是新增加的。這就是我完成手頭文章後掉入的兔子洞。

結果證明我的直覺是對的:2024年新增的At-rules數量超過了過去十年CSS的總和。

這一切都始於我自問:為什麼@supports At-rule有了selector()包裝函數,卻還在等待at-rule()版本?我無法確定確切的原因,但我確信檢查At-rules的支持性需求並不迫切,因為,嗯,那時At-rules並不多——直到最近,我們才迎來了At-rules的井噴式增長。

一些歷史背景

大約在1998年CSS 2推薦發佈時,@import@page是唯一進入CSS規範的At-rules。這種情況一直持續到2011年CSS 2.1推薦引入了@media。當然,還有一些其他的At-rules,例如@font-face@namespace@keyframes等等,它們已經在各自的模塊中首次亮相。這時,CSS放棄了語義版本控制,規範並沒有呈現整體情況,而是按功能組織的各個模塊。

題外話:最新的已接受的共識認為我們處於“CSS 3”階段,但這已經是十年前的事了,一些人甚至說我們應該進入CSS 5階段。無論我們處於哪個階段,這都無關緊要,儘管這是一個正在討論的話題。擁有一個命名的版本真的有用嗎?

@supports At-rule於2011年在CSS條件規則模塊第3級中發布——第1級和第2級並不正式存在,但指的是最初的CSS 1和2推薦。直到2015年,大多數瀏覽器才真正支持它,那時,現有的At-rules已經得到了廣泛的支持。 @supports只針對新的屬性和值,旨在測試瀏覽器對CSS功能的支持,然後再嘗試應用樣式。

數據

截至今天,CSS中共有18個At-rules至少受到一個主要瀏覽器的支持。如果我們查看每個At-rule最初在CSSWG工作草案中定義的年份,我們可以看到它們都以相當穩定的速度發布:

但是,如果我們檢查每年每個瀏覽器支持的At-rules數量,我們會發現瀏覽器活動存在巨大差異:

如果我們只關注主要瀏覽器發布每個At-rule的最後一年,我們會注意到2024年至今已經帶來了驚人的七個At-rules!

我喜歡這樣的思維實驗。你正在研究的東西會導致對同一主題的研究;超出範圍,但與主題相關。它可能不是你每天都會添加書籤和參考的東西,但它是很好的談資。至少,它證實了CSS發展迅速的感覺,就像自CSS 3首次發布以來從未見過的真正快速發展一樣。

它也為我們擁有和不擁有的CSS功能提供了背景。最初沒有at-rule()函數,因為那時At-rules很少。現在,我們新增加的At-rules數量超過了過去十年,因此,就在上週Chrome團隊將該函數的狀態從“新建”更新為“已分配”也就不足為奇了。

最後一點:我之所以會考慮At-rules,是因為我們已經更新了CSS Almanac,擴展它以包含更多CSS功能,包括At-rules。我正在努力完善它,你也可以通過成為客座撰稿人來提供幫助。

以上是2024年:CSS在過去十年的總和還要多的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn