<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          2021年 CSS 使用趨勢(shì)

          共 4846字,需瀏覽 10分鐘

           ·

          2022-01-01 18:10

          大家好,我是Levi,提前祝大家新年快樂(lè)。今天和大家分享的是 2021 年 CSS 在不同方面的使用趨勢(shì)~

          測(cè)試依據(jù):

          本文所有指標(biāo)均來(lái)自 HTTP Archive 數(shù)據(jù)集。HTTP Archive 是一個(gè)社區(qū)運(yùn)行的項(xiàng)目,自 2010 年以來(lái)一直在跟蹤網(wǎng)絡(luò)的構(gòu)建方式。在幕后使用 WebPageTest 和 Lighthouse,每月測(cè)試大約 820 萬(wàn)個(gè)網(wǎng)站的元數(shù)據(jù),并將其包含在公共 BigQuery 數(shù)據(jù)庫(kù)中進(jìn)行分析。

          測(cè)試網(wǎng)站:820萬(wàn)個(gè);

          數(shù)據(jù)處理:39.5TB。

          一、用法

          1. 樣式表大小

          下面是每個(gè)樣式表文件的大小分布:5c4692bc3d74e4c614bb82cd6d4b27f1.webp CSS文件每年的大小都在不斷增長(zhǎng),中等頁(yè)面的CSS文件大約70KB,較大頁(yè)面的CSS文件大約250KB。與2020年相比,CSS文件大小的中位數(shù)增加了7.9%,同時(shí),移動(dòng)端CSS所有的百分比都略低于Web端CSS。

          在所有測(cè)試到的CSS文件中,最大的Web頁(yè)面CSS文件大小為 64,628 KB,最大的移動(dòng)頁(yè)面CSS文件大小為17,823 KB。

          2. 預(yù)處理器

          頁(yè)面的CSS大小并未受到預(yù)處理器的顯著影響。17%的Web頁(yè)面和16.5%的移動(dòng)頁(yè)面包含預(yù)處理器,略高于去年的15%。具體使用的樣式如下:c9184a0963f5b526f57ce5b4de9ed75a.webp

          3. 樣式表數(shù)量

          下面是每個(gè)頁(yè)面使用的外部樣式表的數(shù)量分布:00adc2626f78266ff826fb045a326322.webp 今年每個(gè)頁(yè)面的樣式表分布相對(duì)于去年有所增加,第50-90百分位的都增加了一個(gè),第10-15百分位的都沒(méi)有變化。

          今年,外部樣式表數(shù)量最多的記錄是2368,比2020年的1379,增加了大約一倍。

          4. 樣式表規(guī)則

          下面是每個(gè)頁(yè)面的樣式規(guī)則數(shù)量分布:e7f5cff6684d60fcc09b28849e0f0f61.webp 與去年相比,較高百分位的數(shù)量幾乎沒(méi)有變化,較低百分位的數(shù)量略有上升。在多數(shù)百分位的數(shù)量分布中,Web頁(yè)面相對(duì)于移動(dòng)頁(yè)面的樣式規(guī)則更多一點(diǎn)。

          二、選擇器

          1. class

          最常用的class名稱(chēng)如下:cb78530dc5f84c511a6605d652bc865f.webp

          2. id

          最常用的id名稱(chēng)如下:151ce2ec82fd9a72b363112f19be1ece.webp

          3. 屬性選擇器

          最常用的屬性選擇器如下:44bf034a368599821f5c4835c0b18c22.webp 最常用的屬性選擇器是type,它可以用于選擇表單控件,如復(fù)選框、單選按鈕、文本輸入等。

          4. 偽類(lèi)

          最常用的偽類(lèi)如下:5618f2a0292f56d3755c3870f024678c.webp 和 2020 年一樣,用戶(hù)操作偽類(lèi):hover、:focus和:active占據(jù)了前三名,它們都出現(xiàn)在至少三分之二的頁(yè)面中。

          5. 偽元素

          最常用的偽元素如下:5aca59635c5c973a4f73a70a81fdf6f1.webp

          6. !important

          每個(gè)頁(yè)面使用!important的比例如下:56c3e2f33203f57b7f4bbbe68f07c9b7.webp 調(diào)查發(fā)現(xiàn),移動(dòng)頁(yè)面中最多有17,990 條!important規(guī)則,Web頁(yè)面中最多有17,648 條!important規(guī)則。

          使用!important規(guī)則的樣式屬性分布如下:f49c8c0006187d914954533e69743a5a.webp

          三、值和單位

          1. 長(zhǎng)度

          最受歡迎的長(zhǎng)度單位:75cd1b9374b376f3213fc3b8be759850.webp 像素單位仍然是迄今為止最常用的長(zhǎng)度單位,出現(xiàn)在了大約71%的頁(yè)面中。

          下面是每個(gè)屬性的長(zhǎng)度類(lèi)型分布:ec51cd57298a850a84b2207e9405213c.webp

          下面是最常用的字體相對(duì)長(zhǎng)度單位分布:787d1832baf3f64693df696c22d6f98e.webp

          0長(zhǎng)度的使用單位分布如下:0499746fadd712384897067bc839b22d.webp 接近88%的值都直接省略了單位,剩下的有單位的幾乎都是px。

          2. 計(jì)算

          下面是使用calc()函數(shù)的最常用的屬性:0232dbba96165ece1f45b0676d41505c.webp 去過(guò)去幾年一樣,最常用的用法calc()是用來(lái)設(shè)置width的。

          下面是calc()函數(shù)中最常用的長(zhǎng)度單位:5eba0c3ac25727c500ede92ef1ca7d04.webp

          calc()函數(shù)中單位數(shù)量的分布如下:30f1539adf212910f21c022591826c4a.webp calc()值是相對(duì)簡(jiǎn)單的,絕大多數(shù)使用兩種不同單位進(jìn)行計(jì)算,例如從百分比值的計(jì)算結(jié)果中減去像素??偣?99% 的calc()表達(dá)式使用了一種或兩種單位類(lèi)型。

          3. 全局關(guān)鍵字

          下面是最常用的全局關(guān)鍵字以及其分布:035d25b98234112edf14b13c9ba6a344.webp

          4. 顏色

          最常用的顏色格式如下:8e0f2c1a27e16f6ed8a99ab7873df047.webp 很長(zhǎng)一段時(shí)間內(nèi),#RRGGBB格式一直是使用最多的顏色格式,超過(guò)了一半的顏色聲明會(huì)使用這種格式。顏色值的 75% 都是使用十六進(jìn)制和 RGB 語(yǔ)法表示的。

          最常用的顏色關(guān)鍵字值:da5d05bbccafa29a44a5e7d8332f7a3b.webp

          四、圖片

          1. CSS中圖片格式

          下面是CSS中圖像格式比例分布:fe6b60070183b73a011f8cf636eb8f71.webp

          2. CSS中圖片格式

          下面是CSS樣式文件在中加載的圖像數(shù)量分布:87d80e1690a3cba5ee38b33f5b091b1b.webp 大多數(shù)的CSS不會(huì)加載大量的圖片。在調(diào)查中,站點(diǎn)圖片最多的CSS,其Web頁(yè)面CSS中加載了6088張圖片,移動(dòng)頁(yè)面CSS中加載了6089張圖片。

          3. CSS中圖片大小

          下面是通過(guò)CSS加載的外部圖片的大小分布:78b2e7dbaf53807ec5b5d71a6c15fd7d.webp 總體來(lái)說(shuō),移動(dòng)頁(yè)面會(huì)比Web頁(yè)面CSS加載的外部圖片略小。在調(diào)查中,有一個(gè)頁(yè)面CSS加載的圖片總大小達(dá)到314,386.1 KB。

          下面是按照?qǐng)D片格式在移動(dòng)頁(yè)面上通過(guò)CSS加載的外部圖像大小分布:60b9704fa504ce85894f8d56fc4a9b68.webp 有趣的是,在第 90 個(gè)百分位數(shù)時(shí),GIF 圖像平均比 SVG 文件還要小。

          4. 漸變

          下面是常見(jiàn)的使用漸變的屬性:4042ee738084c96c9e8570016691244f.webp 下面是最常用的漸變值:707c0d3b29bc46c4e111bd1323701e21.webp

          五、布局

          下面是最長(zhǎng)使用的布局類(lèi)型:876ba63a10e47c90a66d04981df19907.webp 需要注意,這里并不是頁(yè)面主要布局的方式,而是說(shuō)position: absolute出現(xiàn)在我們分析的頁(yè)面的 93% 的樣式中。同樣,display: grid 出現(xiàn)在 36% 的頁(yè)面樣式中,但這并不意味著所有頁(yè)面的 37% 是 Grid 布局,只是該組合出現(xiàn)在樣式表的某些地方。

          1. Flexbox和Grid布局

          下面是在移動(dòng)設(shè)備上采用Flexbox和Grid布局的比例分布:d0c1c7171cbb4421107088f6c1896ee0.webp 使用Flexbox和Grid布局一直在持續(xù)增長(zhǎng)。2019 年,F(xiàn)lexbox 布局的采用率為 41%;2020 年為 63%。今年,F(xiàn)lexbox 在移動(dòng)端和桌面端分別達(dá)到 71% 和 73%。同時(shí),Grid 布局的采用率每年都在會(huì)翻倍,從 2% 到 4%,現(xiàn)在是 8%。

          2. 多列布局

          使用多列布局的頁(yè)面的百分比:20%。

          3. border-box數(shù)量

          每個(gè)頁(yè)面中使用box-sizing: border-box的數(shù)量分布:ef6aa287872368cc355aff9c3f3c7823.webp

          4. 過(guò)渡和動(dòng)畫(huà)

          動(dòng)畫(huà)仍然是被廣泛使用的,animation屬性在 77% 的移動(dòng)頁(yè)面和 73% 的桌面頁(yè)面上使用。transition屬性在 85% 的移動(dòng)頁(yè)面和 90% 的桌面頁(yè)面上使用。

          最常使用過(guò)渡的屬性:02c1b135277f7822d158a3aca322ee6e.webp 過(guò)渡持續(xù)時(shí)間的分布:278a9f5d04523ba03ecb02b75d16c620.webp 即使在第 90 個(gè)百分位,過(guò)渡持續(xù)時(shí)間的中位數(shù)也僅為半秒。

          延遲過(guò)渡的分布:a6ce24d21872fb2db140f2be6b31667b.webp 可以看到,最高的過(guò)渡延遲中位數(shù)是 1.7 秒,第 10 個(gè)百分位數(shù)的中位數(shù)延遲大約不到負(fù)三分之一秒,這表明大量過(guò)渡是在生成的動(dòng)畫(huà)中途開(kāi)始的。

          過(guò)渡計(jì)時(shí)功能的分布:d1ac8a33d9ecea80727686c125e7419b.webp

          最常用的動(dòng)畫(huà)類(lèi)型:56a611ef9383183c2e817c8ec7ea7cd7.webp

          六、響應(yīng)式設(shè)計(jì)

          1. 媒體查詢(xún)功能

          最常用的用作媒體查詢(xún)的功能如下:b52974ef0981a3a427d8bf2e61cec30f.webp max-width和min-width是迄今為止最受歡迎的查詢(xún)功能。

          2. 媒體查詢(xún)斷點(diǎn)

          最常用的媒體查詢(xún)斷點(diǎn)值:51a7aaa2bbaab8d855d5e2b6126128be.webp 迄今為止最常見(jiàn)的斷點(diǎn)是 767 和 768 px,這與 iPad 在縱向模式下的分辨率非常吻合。767px 被大量用作最大寬度斷點(diǎn),而很少用作最小寬度值。786px經(jīng)常被用作最小和最大斷點(diǎn)。

          3. 媒體查詢(xún)屬性

          通過(guò)媒體查詢(xún)最常更改的屬性:1b477e972904c5e8d2ed943962e05b65.webp 最常設(shè)置的屬性是display,緊隨其后的是color, width, 和height。

          七、特征查詢(xún)

          特征查詢(xún) ( @supports) 的使用繼續(xù)保持增長(zhǎng)。2019 年,有 30% 的頁(yè)面在使用,2020年為 39%。2021 年,將近 48% 的頁(yè)面使用特征查詢(xún)來(lái)決定在什么上下文中應(yīng)用哪種 CSS。

          最常使用的特征查詢(xún)的依據(jù)分布如下:f292d3ae3062adeb00026515a285fd8c.webp 粘性定位是最受歡迎的查詢(xún)依據(jù),占所有特征查詢(xún)的一半以上。

          八、自定義屬性

          2019-2021 年自定義屬性使用的變化如下:400ea46a3de381d5e685b199f6e46c84.webp 今年,28.6% 的移動(dòng)頁(yè)面和 28.3% 的桌面頁(yè)面定義了自定義屬性(也就是CSS變量)。并且,35.2% 的移動(dòng)頁(yè)面和 35.6% 的桌面頁(yè)面包含至少一個(gè)var()值。

          1. 命名

          對(duì)于自定義屬性的命名,最常使用的自定義屬性名稱(chēng)如下:242fd13035c36faf1e457c1d2c2a3727.webp 使用最多的自定義屬性是--wp開(kāi)頭的,這些都是WordPress網(wǎng)站中的屬性。

          2. 用法

          最常用自定義屬性的屬性如下:aecad03b60b2c78bbb86c97d299e0cca.webp 自定義屬性值類(lèi)型的分布如下:f7c62cd00e3afea600ab2e49ccd7e138.webp

          3. 復(fù)雜

          自定義屬性是可以包含其他自定義屬性的:

          :root?{
          ??--base-hue:?335;?/*?depth?=?0?*/
          ??--base-color:?hsl(var(--base-hue)?90%?50%);?/*?depth?=?1?*/
          ??--background:?linear-gradient(var(--base-color),?black);?/*?depth?=?2?*/
          }

          自定義屬性深度的分布如下:2805fff5b20eae6c82076666db982cdb.webp 絕大多數(shù)自定義屬性的值深度為零:它們沒(méi)有在自己的值中包含其他自定義屬性的值。近三分之一有一個(gè)深度級(jí)別,除此之外,幾乎沒(méi)有深度為兩個(gè)或更多的自定義屬性值。

          除此之外,使用自定義屬性值的選擇器, 60% 設(shè)置在根元素上(使用:root或html選擇器),大約 5% 設(shè)置在元素上。其余的應(yīng)用于根元素的某些后代而不是. 這意味著大約三分之二的自定義屬性被用作實(shí)際上是全局常量。

          九、國(guó)際化

          對(duì)于不同語(yǔ)言,其可能存在不用的書(shū)寫(xiě)形式,比如:

          • 英文字符是從左到右書(shū)寫(xiě)的;
          • 阿拉伯語(yǔ)、希伯來(lái)語(yǔ)和烏爾都語(yǔ)都是從右到左書(shū)寫(xiě),
          • 漢語(yǔ)、蒙古語(yǔ)、日語(yǔ)可以從上到下書(shū)寫(xiě)。

          對(duì)于這些復(fù)雜的情況,HTML 和 CSS 都提供了對(duì)應(yīng)的處理方法。

          1. 方向

          可以使用 CSS 的direction屬性來(lái)強(qiáng)制執(zhí)行文本的方向。該屬性在 11% 的元素上被使用,在 3% 的頁(yè)面上的元素上被使用。在使用 CSS 設(shè)置方向的頁(yè)面中,92% 的元素和 82% 的元素被設(shè)置為ltr(從左到右),只有 9%頁(yè)面中將該屬性設(shè)置為rtl(從右到左)。

          2. 邏輯屬性

          另一個(gè)對(duì)國(guó)際化有用的 CSS 特性就是“邏輯”屬性。比如margin-block-start、padding-inline-end等,以及text-align屬性的屬性值start和end等。這些屬性和值都和文本流的方向相關(guān)。

          下面是邏輯屬性的屬性類(lèi)型分布:e849525cf3b72517ad773bd1cc933b11.webp 統(tǒng)計(jì)發(fā)現(xiàn),只有 4% 的頁(yè)面使用了邏輯屬性。在這些頁(yè)面中,大約 33% 的頁(yè)面使用它來(lái)設(shè)置text-align為start或end。另外 46% 設(shè)置了邏輯邊距和填充。

          十、CSS in JS

          下面是使用的CSS-in-JS 庫(kù)的分布情況:07a47ad512c32a41c401ab8acb45910e.webp 統(tǒng)計(jì)發(fā)現(xiàn),大約 3% 的頁(yè)面使用了 CSS-in-JS。其中Styled Component就占了一半多。

          十一、簡(jiǎn)寫(xiě)

          1. 簡(jiǎn)寫(xiě)屬性

          有些樣式表中混合了簡(jiǎn)寫(xiě)屬性background和普通屬性background-size,在相應(yīng)的簡(jiǎn)寫(xiě)屬性之后出現(xiàn)的普通屬性最常見(jiàn)的如下:f54451be342a35400d3ba99488e5c3c1.webp

          2. background

          可以看到,background相關(guān)的普通屬性是使用最多的,下面是最常用的background屬性:2f12457bf1c6b77b3d3c386ac5c70427.webp

          3. padding和margin

          下面是最常用的padding和margin屬性:5980a67e3fb4068068dd35d1bff159fc.webp

          4. font

          下面是最常用的字體屬性:d45d3c9999126c27d8e8d1e1b4393d43.webp

          5. Flexbox

          下面是最常用的 Flexbox 相關(guān)屬性:f3d42006fb0c7d6a7014a49a30cfe10c.webp

          6. Grid

          下面是最常用的 Grid 相關(guān)屬性:f972d26966b89c5897df89b72675b5ec.webp

          十二、錯(cuò)誤類(lèi)型

          下面來(lái)看CSS中常見(jiàn)的一些錯(cuò)誤。

          1. 重復(fù)聲明

          “聲明重復(fù)”的數(shù)量——通過(guò)確定有多少聲明使用相同的屬性和值,以及有多少聲明在頁(yè)面的內(nèi)部是唯一的,從而粗略估計(jì)樣式表的效率。

          下面是每個(gè)頁(yè)面重復(fù)聲明的分布:85fc35880f7908a642d0967007c278b6.webp

          2. 不存在的屬性

          最常見(jiàn)的不存在的屬性如下:f9415dadba9559cf234ba380e1db14ea.webp

          十三、預(yù)處理器Sass

          Sass是最流行的CSS預(yù)處理器之一,最常用的 Sass 函數(shù)調(diào)用如下:feca380ccf73371ec2d67a33afc23ae1.webp 可以發(fā)現(xiàn), Sass 函數(shù)中有 28% 是修改顏色的函數(shù)(例如darken、mix),另外 6% 用于讀取顏色(例如alpha、blue)。

          下面是 Sass 中最常用的流控制結(jié)構(gòu):fa441564b573e5df634b40358c4c4819.webp 下面是 Sass 中最常用的規(guī)則嵌套:b7a4da511749bfbeec7ef8f5f20fd22b.webp Sass 的一個(gè)主要優(yōu)點(diǎn)就是能夠?qū)⒁?guī)則嵌套在其他規(guī)則中,從而避免編寫(xiě)重復(fù)的選擇器模式。統(tǒng)計(jì)發(fā)現(xiàn),87% 的 Sass 樣式表使用了規(guī)則嵌套。

          這就是2021年CSS的使用趨勢(shì),期待 CSS 在未來(lái)的發(fā)展~

          關(guān)于本文:

          原文:https://almanac.httparchive.org/en/2021/css

          作者:Eric A. Meyer、Shuvam Manna

          譯者:CUGGZ

          瀏覽 51
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色伊人大香蕉 | 美女很黄免费网站 | 青青草A片成人网站免费看 | 天天操天天干天天爽 | 色婷婷手机在线视频 |