日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

這些CSS特性,我知道, 但是 You don't

來源: 責編: 時間:2024-04-02 17:13:13 202觀看
導讀春花秋月何時了,CSS 新舊事知多少?CSS 對象模型CSS.escape確保字符串中的特殊字符在CSS選擇器中能正確解析,避免因特殊字符導致的選擇器匹配問題。比如,對<div id="#id"></div>使用 querySelector進行查詢。圖片引用官方

春花秋月何時了,CSS 新舊事知多少?l6z28資訊網——每日最新資訊28at.com

CSS 對象模型

CSS.escape

確保字符串中的特殊字符在CSS選擇器中能正確解析,避免因特殊字符導致的選擇器匹配問題。比如,對<div id="#id"></div>使用 querySelector進行查詢。l6z28資訊網——每日最新資訊28at.com

圖片圖片l6z28資訊網——每日最新資訊28at.com

引用l6z28資訊網——每日最新資訊28at.com

  • 官方文檔 [The CSS.escape() Method](https://www.w3.org/TR/cssom-1/#the-css.escape( "The CSS.escape() Method")-method)
  • MDN CSS: escape() static method[1]

CSS.support

如果想通過JS代碼知道瀏覽器是否支持某些css特性,那你找對人了。l6z28資訊網——每日最新資訊28at.com

圖片圖片l6z28資訊網——每日最新資訊28at.com

在.css文件里面也是同樣支持的,殊途同歸, 比如 檢測瀏覽器是否支持 flexl6z28資訊網——每日最新資訊28at.com

@supports ( display: flex ) {    // 支持flex使用如下代碼  body, #navigation, #content { display: flex; }  #navigation { background: blue; color: white; }  #article { background: white; color: black; }}@supports not ( display: flex ) {  // 不支持使用如下代碼  body { width: 100%; height: 100%; background: white; color: black; }  #navigation { width: 25%; }  #article { width: 75%; }}

引用l6z28資訊網——每日最新資訊28at.com

  • Feature queries: the @supports rule[2]
  • CSS Conditional Rules Module Level 3  # ref-for-dom-css-supports[3]
  • CSS: supports() static method - Web APIs | MDN[4]

CSS 屬性

scroll-behavior[5]

當用戶手動導航或者 CSSOM scrolling API 觸發滾動操作時,CSS[6] 屬性 scroll-behavior 為一個滾動框指定滾動行為。l6z28資訊網——每日最新資訊28at.com

直接上療效:l6z28資訊網——每日最新資訊28at.com

圖片圖片l6z28資訊網——每日最新資訊28at.com

當然你通過 Element: scrollIntoView 也能達到相同的效果l6z28資訊網——每日最新資訊28at.com

const element = document.getElementById("box");element.scrollIntoView();element.scrollIntoView(false);element.scrollIntoView({ block: "end" });element.scrollIntoView({ behavior: "smooth", block: "end", inline: "nearest" });

那css有什么優勢嗎, 不會報錯。曾幾何時,遇到過scrollIntoView不支持 behavior,就報錯異常。l6z28資訊網——每日最新資訊28at.com

引用l6z28資訊網——每日最新資訊28at.com

  • scroll-behavior | MDN[7]
  • CSS Overflow Module Level 3  # smooth-scrolling[8]

accent-color

為某些元素所生成的用戶界面控件設置了強調色[9], 比如 原生的checkbox, radio, progress, range等 選中時的顏色。l6z28資訊網——每日最新資訊28at.com

下面的實例就是原生checkbox<input type="checkbox" />設置不同的accent-color時,被選中的不同表現。l6z28資訊網——每日最新資訊28at.com

圖片圖片l6z28資訊網——每日最新資訊28at.com

aspect-ratio

用于設置元素的縱橫比(寬度與高度的比例)。這個屬性允許你為元素定義一個固定的寬高比,即使元素的高度或寬度未顯式指定,也可以保持預期的形狀比例。l6z28資訊網——每日最新資訊28at.com

圖片圖片l6z28資訊網——每日最新資訊28at.com

引用:aspect-ratio | MDN [10]l6z28資訊網——每日最新資訊28at.com

caret-color

來定義插入光標的顏色。這在需要凸顯鼠標聚焦的時候,就非常有用了。l6z28資訊網——每日最新資訊28at.com

圖片圖片l6z28資訊網——每日最新資訊28at.com

如果再支持,設置一下尺寸就完美了。l6z28資訊網——每日最新資訊28at.com

此外,你也可以自定義光標圖片達到類似效果。l6z28資訊網——每日最新資訊28at.com

.custom-cursor {     cursor: url('path/to/my-custom-cursor.png'), auto; }

引用:caret-color[11]l6z28資訊網——每日最新資訊28at.com

mix-blend-mode

用于定義元素的內容(如圖像、文本、圖形等)與其底層背景或其他元素的內容混合的方式。這個屬性主要應用于疊加效果,允許元素的顏色數據與它所在堆疊上下文中的底層元素顏色數據進行數學運算,生成新的混合顏色結果。l6z28資訊網——每日最新資訊28at.com

經典的demo可以參見 張鑫旭 大佬的 mix-blend-mode濾色screen混合模式[12]l6z28資訊網——每日最新資訊28at.com

圖片圖片l6z28資訊網——每日最新資訊28at.com

引用: mix-blend-mode[13]l6z28資訊網——每日最新資訊28at.com

resize

用于設置元素是否可調整尺寸,以及可調整的方向。l6z28資訊網——每日最新資訊28at.com

圖片圖片l6z28資訊網——每日最新資訊28at.com

引用:resize | MDN[14]l6z28資訊網——每日最新資訊28at.com

object-position[15]

規定了可替換元素[16]的內容在其內容框中的位置。哪些是常見的可替換元素呢?   `[17],  ``[18] , ``[19], ``[20]都是。l6z28資訊網——每日最新資訊28at.com

圖片圖片l6z28資訊網——每日最新資訊28at.com

object-fit

屬性指定可替換元素[21](例如:``[22] 或 ``[23])的內容應該如何適應到其使用高度和寬度確定的框。和background-size有類似的作用。l6z28資訊網——每日最新資訊28at.com

圖片圖片l6z28資訊網——每日最新資訊28at.com

ruby-position

來展示東亞文字注音或字符注釋。通常配合ruby標簽使用,用實例看療效。l6z28資訊網——每日最新資訊28at.com

下面的例子就是把注解從上面 弄到了下面。l6z28資訊網——每日最新資訊28at.com

圖片圖片l6z28資訊網——每日最新資訊28at.com

引用:l6z28資訊網——每日最新資訊28at.com

  • ruby-position[24]

CSS 函數

color-mix 函數

函數表示法接受兩個 color 值作為參數,并通過指定的數量,在特定的顏色空間中將它們混合,最后返回混合得到的新顏色結果。l6z28資訊網——每日最新資訊28at.com

再簡單點, 兩個顏色經過一定規則混合到新的顏色。l6z28資訊網——每日最新資訊28at.com

圖片圖片l6z28資訊網——每日最新資訊28at.com

再看一個高級的應用 調色板[25]l6z28資訊網——每日最新資訊28at.com

圖片圖片l6z28資訊網——每日最新資訊28at.com

參考引用l6z28資訊網——每日最新資訊28at.com

  • CSS 官方 Mixing Colors: the color-mix() Function[26]
  • color-mix() | MDN[27]

clamp 函數[28]

把一個值限制在一個上限和下限之間,當這個值超過最小值和最大值的范圍時,在最小值和最大值之間選擇一個值使用。它接收三個參數:最小值、首選值、最大值。 clamp() 被用在 ``[29]、``[30]、``[31]、``[32]、``[33]、``[34]、``[35] 中都是被允許的。l6z28資訊網——每日最新資訊28at.com

作為動態調節內容大小,是不是一種很好的手段呢?l6z28資訊網——每日最新資訊28at.com

圖片圖片l6z28資訊網——每日最新資訊28at.com

功能特性

@scope

借助 @scope @ 規則,開發者可以將樣式規則的作用域限定為給定的范圍根,并根據該范圍根的鄰近度來設置元素的樣式。l6z28資訊網——每日最新資訊28at.com

借助 @scope,您可以根據鄰近度替換樣式,這與常見的 CSS 樣式不同,后者僅根據源代碼順序和特異性應用。l6z28資訊網——每日最新資訊28at.com

除了最基本的限定能力:l6z28資訊網——每日最新資訊28at.com

圖片圖片l6z28資訊網——每日最新資訊28at.com

你還可以用style節點來達到類似的效果:樣式僅對該元素及其后代元素生效,不會影響到文檔的其他部分l6z28資訊網——每日最新資訊28at.com

<parent-element>  <style>    @scope {      rulesets    }  </style></parent-element>

此外還具備 起 始的限定能力,一圖勝千文。藍色區域就是查找的范圍。l6z28資訊網——每日最新資訊28at.com

圖片圖片l6z28資訊網——每日最新資訊28at.com

參考引用l6z28資訊網——每日最新資訊28at.com

  • CSS 官方文檔 Scoping Styles: the @scope rule[36]
  • MDN CSS/@scope[37]
  • chome CSS @scope 規則[38]
  • Chrome 118:CSS @scope 規則 來了![39]

@layer

@layer 規則在 CSS 中用于聲明一個層疊層,并在存在多個層疊層的情況下定義它們的優先級順序l6z28資訊網——每日最新資訊28at.com

如下面的圖示, 按照傳統, state層中的 ·alert 的css權重顯然是低于 layer層 .app .alert 的,但是不好意思, state的優先級比 layer 層高, 所以背景色是藍色。l6z28資訊網——每日最新資訊28at.com

只能說,給人無限遐想。l6z28資訊網——每日最新資訊28at.com

圖片圖片l6z28資訊網——每日最新資訊28at.com

還可以將多個樣式塊分配給同一個層 (layer)。在下面的例子中,headings.css 和 links.css 文件中的內容與 audio[controls] 規則一起層疊在同一層內。l6z28資訊網——每日最新資訊28at.com

@import url(headings.css) layer(default);@import url(links.css) layer(default);@layer default {  audio[controls] {    display: block;  }}

引用:l6z28資訊網——每日最新資訊28at.com

  • CSS 官方 CSS Cascading and Inheritance Level 5  # Cascade Layers[40]
  • MDN CSS @layer[41]

參考資料

[1]CSS: escape() static method: https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape_staticl6z28資訊網——每日最新資訊28at.com

[2]Feature queries: the @supports rule: https://www.w3.org/TR/css-conditional-3/#at-supportsl6z28資訊網——每日最新資訊28at.com

[3]CSS Conditional Rules Module Level 3  # ref-for-dom-css-supports: https://drafts.csswg.org/css-conditional-3/#ref-for-dom-css-supportsl6z28資訊網——每日最新資訊28at.com

[4]CSS: supports() static method - Web APIs | MDN: https://developer.mozilla.org/en-US/docs/Web/API/CSS/supports_staticl6z28資訊網——每日最新資訊28at.com

[5]scroll-behavior: https://developer.mozilla.org/zh-CN/docs/Web/CSS/scroll-behaviorl6z28資訊網——每日最新資訊28at.com

[6]CSS: https://developer.mozilla.org/zh-CN/docs/Web/CSSl6z28資訊網——每日最新資訊28at.com

[7]scroll-behavior | MDN: https://developer.mozilla.org/zh-CN/docs/Web/CSS/scroll-behaviorl6z28資訊網——每日最新資訊28at.com

[8]CSS Overflow Module Level 3  # smooth-scrolling: https://drafts.csswg.org/css-overflow/#smooth-scrollingl6z28資訊網——每日最新資訊28at.com

[9]強調色: https://developer.mozilla.org/zh-CN/docs/Glossary/Accentl6z28資訊網——每日最新資訊28at.com

[10]aspect-ratio | MDN : https://developer.mozilla.org/zh-CN/docs/Web/CSS/aspect-ratiol6z28資訊網——每日最新資訊28at.com

[11]caret-color: https://developer.mozilla.org/zh-CN/docs/Web/CSS/caret-colorl6z28資訊網——每日最新資訊28at.com

[12]mix-blend-mode濾色screen混合模式: https://www.zhangxinxu.com/wordpress/2019/05/css-mix-blend-mode-screen/l6z28資訊網——每日最新資訊28at.com

[13]mix-blend-mode: https://developer.mozilla.org/zh-CN/docs/Web/CSS/mix-blend-model6z28資訊網——每日最新資訊28at.com

[14]resize | MDN: https://developer.mozilla.org/zh-CN/docs/Web/CSS/resizel6z28資訊網——每日最新資訊28at.com

[15]object-position: https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-positionl6z28資訊網——每日最新資訊28at.com

[16]可替換元素: https://developer.mozilla.org/zh-CN/docs/Web/CSS/Replaced_elementl6z28資訊網——每日最新資訊28at.com

[17]<iframe>: https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/iframel6z28資訊網——每日最新資訊28at.com

[18]<video>: https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/videol6z28資訊網——每日最新資訊28at.com

[19]<embed>: https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/embedl6z28資訊網——每日最新資訊28at.com

[20]<img>: https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/imgl6z28資訊網——每日最新資訊28at.com

[21]可替換元素: https://developer.mozilla.org/zh-CN/docs/Web/CSS/Replaced_elementl6z28資訊網——每日最新資訊28at.com

[22]<img>: https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/imgl6z28資訊網——每日最新資訊28at.com

[23]<video>: https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/videol6z28資訊網——每日最新資訊28at.com

[24]ruby-position: https://developer.mozilla.org/en-US/docs/Web/CSS/ruby-positionl6z28資訊網——每日最新資訊28at.com

[25]調色板: https://developer.mozilla.org/en-US/blog/color-palettes-css-color-mixl6z28資訊網——每日最新資訊28at.com

[26]Mixing Colors: the color-mix() Function: https://www.w3.org/TR/css-color-5/#color-mixl6z28資訊網——每日最新資訊28at.com

[27]color-mix() | MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/color-mixl6z28資訊網——每日最新資訊28at.com

[28]clamp 函數: https://developer.mozilla.org/en-US/docs/Web/CSS/clampl6z28資訊網——每日最新資訊28at.com

[29]<length>: https://developer.mozilla.org/zh-CN/docs/Web/CSS/lengthl6z28資訊網——每日最新資訊28at.com

[30]<frequency>: https://developer.mozilla.org/zh-CN/docs/Web/CSS/frequencyl6z28資訊網——每日最新資訊28at.com

[31]<angle>: https://developer.mozilla.org/zh-CN/docs/Web/CSS/anglel6z28資訊網——每日最新資訊28at.com

[32]<time>: https://developer.mozilla.org/zh-CN/docs/Web/CSS/timel6z28資訊網——每日最新資訊28at.com

[33]<percentage>: https://developer.mozilla.org/zh-CN/docs/Web/CSS/percentagel6z28資訊網——每日最新資訊28at.com

[34]<number>: https://developer.mozilla.org/zh-CN/docs/Web/CSS/numberl6z28資訊網——每日最新資訊28at.com

[35]<integer>: https://developer.mozilla.org/zh-CN/docs/Web/CSS/integerl6z28資訊網——每日最新資訊28at.com

[36]Scoping Styles: the @scope rule: https://www.w3.org/TR/css-cascade-6/#scoped-stylesl6z28資訊網——每日最新資訊28at.com

[37]MDN CSS/@scope: https://developer.mozilla.org/en-US/docs/Web/CSS/@scopel6z28資訊網——每日最新資訊28at.com

[38]CSS @scope 規則: https://developer.chrome.com/blog/new-in-chrome-118?hl=zh-cn#css-scopel6z28資訊網——每日最新資訊28at.com

[39]https://mp.weixin.qq.com/s?__biz=Mzk0MDMwMzQyOA==&mid=2247499238&idx=1&sn=a0512d49d3834d198ef7d517925b4057&chksm=c2e108cdf59681db5d038e53e6a8243945188537bc1e83da3f695dd531c09e1a24bb8a39bb37&=1638573446&=zh_CN#rd: https://link.juejin.cn/?target=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzk0MDMwMzQyOA%3D%3D%26mid%3D2247499238%26idx%3D1%26sn%3Da0512d49d3834d198ef7d517925b4057%26chksm%3Dc2e108cdf59681db5d038e53e6a8243945188537bc1e83da3f695dd531c09e1a24bb8a39bb37%26%3D1638573446%26%3Dzh_CN%23rdl6z28資訊網——每日最新資訊28at.com

[40]CSS Cascading and Inheritance Level 5  # Cascade Layers: https://www.w3.org/TR/css-cascade-5/#layeringl6z28資訊網——每日最新資訊28at.com

[41]MDN CSS @layer: https://developer.mozilla.org/en-US/docs/Web/CSS/@layerl6z28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-80819-0.html這些CSS特性,我知道, 但是 You don't

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Java并發:如何避免死鎖

下一篇: 到2028年,AR和VR市場預計將達到2520億美元

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 尼木县| 米脂县| 巴南区| 上蔡县| 萨迦县| 山东| 赞皇县| 广灵县| 前郭尔| 日喀则市| 峡江县| 班玛县| 桐乡市| 长宁县| 宜兰市| 罗田县| 丰原市| 海淀区| 兰西县| 喀什市| 汽车| 井陉县| 祁门县| 缙云县| 湘潭市| 聊城市| 江津市| 泗洪县| 赤峰市| 寿宁县| 建德市| 开江县| 交口县| 贡觉县| 安庆市| 墨竹工卡县| 彭水| 谷城县| 温泉县| 井冈山市| 米泉市|