成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

CSS 中的 11 個新特性和功能

開發 前端
9 月 13 日,CSS 工作組發布了 CSS 值和單位模塊第 5 級的第一個公共工作草案。它描述了 CSS 屬性接受的通用值和單位以及它們使用的語法,并附帶了一些有趣的新功能。

9 月 13 日,CSS 工作組發布了 CSS 值和單位模塊第 5 級的第一個公共工作草案。它描述了 CSS 屬性接受的通用值和單位以及它們使用的語法,并附帶了一些有趣的新功能。

注意:由于它是最近才發布的,并且目前處于工作草案狀態,本文中描述的許多功能將發生變化,并且它們不是在所有瀏覽器中可用(有些瀏覽器可用!)。

不久前還無法想象的事情正在進入規范:隨機值、使用屬性作為任何屬性的值、能夠在計算中使用順序……看起來很有希望。

這些功能中的許多都有一個共同點:它們簡化了 CSS 代碼。以前需要多條規則或黑客解決方案的事情將只需一兩行 CSS 即可實現。正如我所說,它看起來很有希望。

這是新更改的列表(更多詳細信息如下):

  • 對 attr() 函數的更改:因此它可以與任何屬性和任何 CSS 屬性一起使用(不僅僅是在內容上)。
  • calc-size() 函數:在計算中使用 auto 或 min-content 等固有值。
  • 新的 first-valid() 函數可避免自定義屬性值無效的問題。
  • 新的 *-mix() 函數系列,帶有新的比率符號。
  • 新的 *-progress() 函數系列,用于計算范圍之間或媒體或容器內的進度比率。
  • 使用新的 random() 和 random-item() 函數進行隨機化,從范圍或列表中返回隨機值(終于!)
  • 新的 brothers-count() 和 brothers-index() 函數提供整數值,可根據順序和大小進行操作。
  • 新的 toggle() 函數,用于設置嵌套元素的樣式,輕松循環遍歷值列表。
  • 帶有逗號分隔值列表的參數的新函數符號,可避免逗號分隔參數的歧義。
  • 新的 URL 修飾符,可更好地控制 url() 請求。
  • 擴展位置類型以允許流相關值。

1、對 attr() 函數的更改

讀取屬性并在 CSS 中使用它并不是什么新鮮事。使用 attr() 已經可以做到這一點,但一個常見的抱怨是功能有限,只能處理字符串和內容。

attr() 函數將進行一些更新,因此任何獨立于其數據類型的數據屬性都可以在任何屬性中使用。

它將像指定類型一樣簡單,如果我們愿意,還可以指定一個后備值,以防萬一出現意外情況。

這是一個期待已久的更新,將讓很多開發人員感到高興。

2、使用 calc-size() 操作內在值

此模塊還引入了一個新功能,可以安全地操作內在值(auto、max-content、fit-content 等)。此功能在過渡和動畫中特別有用。

它還添加了新關鍵字(size),為計算提供更多靈活性,使處理尺寸更加容易。

既然已經存在 calc(),為什么還要創建一個全新的函數?正如文檔所解釋的那樣,這樣做有向后兼容性和實際原因(例如,在所有情況下都可以平滑插值,尤其是在以百分比操作時)。

3、新的 first-valid() 函數

引入了一種新方法:first-valid()。其思想是將一個值列表傳遞給該函數;這些值將被解析,并且將使用第一個有效的值。這在處理 CSS 自定義屬性(又稱 CSS 變量)時特別有用。

使用 CSS 變量時的一個問題是,在聲明中,它們被視為有效值,即使實際包含的值無效。設置后備值也無濟于事,后備聲明也將被忽略。

使用這種方法,我們可以通過使用 first-valid() 將所有后備聲明合并為一個聲明來簡化代碼。

4、新的 *-mix() 函數系列

它還引入了一個新函數 mix(),可用于簡化不同的 *-mix 函數。您想混合顏色嗎?您可以執行類似 color-mix(red 60%, blue) 的操作,或者更簡單的 mix(60%, red, blue) 也可以。正如我們所說的顏色,我們還可以混合長度、變換函數等。

該符號也擴展到其他 *-mix 函數系列:

  • calc-mix()
  • color-mix()
  • cross-fade()
  • palette-mix()

如果在進度參數(第一個)中未指定緩動函數,則默認應用線性。

5、新的 *-progress() 函數系列

它們表示給定值從一個起始值到另一個終止值的比例進展。結果是一個介于 0 和 1 之間的數字,可用于運算,但與前面描述的 *-mix 函數系列結合使用時會特別方便。

此系列中有三個函數:

  • progress():通用,適用于任何數學函數。
  • media-progress():適用于媒體功能。
  • content-progress():適用于容器查詢。

6、CSS 中的隨機化函數

趣味設計具有一定程度的隨機化,而 CSS 中卻沒有這種功能。但此模塊引入了兩個新函數,它們可從列表 (random-item()) 或范圍 (random()) 中返回隨機值。

無需再使用黑客技巧或依賴其他語言來實現此目的。語法也簡單而強大,可以通過選擇器或元素計算隨機數。

7、新sibling函數

有時您可能希望根據容器內元素的順序提供不同的樣式。不幸的是,計數器不能在 CSS 中這樣使用。

隨著兩個返回數字的新函數的引入,可以使用它們進行操作,這個障礙被消除了:

  • sibling-count():返回兄弟的數量。
  • sibling-index():返回元素在兄弟列表中的位置/順序。

不再需要在每個元素上設置自定義屬性或使用 nth-child 編寫單獨的選擇器。

8、新的 toggle() 函數

引入了一種在嵌套元素中定義值的便捷新方法。toggle() 函數設置元素及其后代將循環使用的值,從而大大簡化了代碼。忘記復雜的規則或重新定義 - 一切都將在一行代碼中完成。

例如,假設我們有一個包含四個嵌套級別的列表。我們希望奇數級別有圓盤,偶數級別有正方形。

我們可以在不同級別執行 ul > li ul > li ul > li ul { … },或者我們可以執行類似 ul { list-style-type: disc, square; } 的操作。砰!完成了!

關于這個函數唯一有點令人擔憂的是它的名字。也許只有我一個人覺得,“toggle”這個詞有“二元性”的含義:開/關、是/否 - 兩個值可以相互切換。 toggle() 函數可以有任意多個參數,因此將其命名為“toggle”感覺很奇怪。

9、參數的新函數符號

您可能已經注意到,一些新函數(例如 random() 或 toggle())可以接受以逗號分隔的值列表的參數。

在這些情況下,我們如何區分一個參數和下一個參數?這就是為什么有人提議對函數符號進行“逗號升級”。這意味著我們可以使用分號 (;) 而不是逗號 (,) 來明確分隔參數。

例如,假設您想在頁面上使用隨機字體系列并指定不同的選項:

  • Times,serif
  • Arial,sans-serif
  • Roboto,sans-serif

所有這些參數都是以逗號分隔的值列表。如果我們使用逗號分隔參數,那將是一團糟。但使用新符號,很容易識別一個參數的結束位置和下一個參數的開始位置:

.random-font {
  font-family: random-item(Times, serif; Arial, sans-serif; Roboto, sans-serif);
}

10、位置類型的擴展

CSS 已經具有邊距、填充和邊框的邏輯屬性 - 這些值與文本書寫方向有關,并且可能因語言而異。

現在為位置類型引入了此功能(不要與位置屬性混淆)。指示位置的屬性(例如 background-position、object-position 等)可以指定與文本流和方向相關的值。

可以使用的新值為:

  • x-start
  • x-end
  • y-start
  • y-end
  • block-start
  • block-end
  • inline-start
  • inline-end

結論

它仍處于早期階段,情況會發生變化,但 CSS 值和單位模塊級別 5 中包含的一些新特性和功能看起來非常有前景。

有些也是期待已久的!尤其是將任何屬性與任何屬性一起使用的可能性。我記得很久以前在規范中看到過這個選項。希望這是實現它所需要的推動力。

不要忘記查看 CSS 值和單位模塊級別 5 工作草案以獲取更多詳細信息。如果您有任何問題或意見,請在他們的 GitHub 存儲庫中記錄工單。

責任編輯:華軒 來源: web前端開發
相關推薦

2017-03-13 15:27:55

CSS新特性

2022-08-05 13:14:25

ES2022JavaScript代碼

2023-02-10 13:15:45

Windows 11

2021-10-27 10:15:25

Python新特性編程語言

2010-09-03 10:24:01

CSSmargin

2022-06-06 09:56:38

編程語言Python

2021-10-20 16:44:50

Windows 11操作系統微軟

2012-12-25 10:52:23

IBMdW

2020-04-27 09:21:25

Android谷歌功能

2023-12-11 09:02:27

CSS前端CSS 新特性

2021-12-10 14:53:17

微軟Windows 11Windows

2009-01-03 15:01:16

ibmdwLotusQuickr

2023-01-05 08:00:24

RegExpFoo類字段

2009-03-11 20:07:31

LinuxFedora 11新特性

2012-05-07 13:45:45

Oraclen 11g虛擬列數據庫

2022-02-09 15:55:01

JavaHttpClientJAVA11

2021-12-09 22:22:19

Windows 11操作系統微軟

2023-08-14 09:59:31

Debian操作系統

2010-09-29 14:08:31

2021-06-26 10:04:23

Code特性技巧
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩一区二区视频在线观看 | 成人免费观看视频 | 1级毛片 | 日一区二区 | 99久久免费精品国产男女高不卡 | 国产精品久久久久久久久 | 丁香婷婷综合激情五月色 | 青青久久av北条麻妃海外网 | 久久精品99国产精品日本 | 天天色综 | 国产一伦一伦一伦 | 亚洲免费片 | 成人精品系列 | 91精品一区 | 91av视频在线 | 很很干很很日 | av一区二区三区四区 | 亚洲一区二区在线 | 青青久草 | 久久国产高清 | 亚洲一区二区三区在线免费 | 亚洲欧美一区二区三区国产精品 | 久热久热| 久久久久国产精品一区二区 | 一区二区日韩 | 亚洲狠狠爱 | 精品二区| 国产一区二区a | 国产一级特黄视频 | 亚洲资源在线 | 国产欧美一区二区三区日本久久久 | 欧美高清性xxxxhdvideosex | 一区二区三区在线播放 | 欧美一级免费 | 精品91av | 美女黄网 | 一级片在线视频 | 免费精品一区 | 国产日韩久久 | 欧美日韩国产精品一区 | 欧美午夜精品久久久久久浪潮 |