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

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

作用域 CSS 回來了,你知道嗎?

來源: 責編: 時間:2023-09-28 10:08:04 347觀看
導讀幾年前,消失的作用域 CSS,如今它回來了,而且比以前的版本要好得多。更好的是,W3C規范基本穩定,現在Chrome中已經有一個工作原型。我們只需要社區稍微關注一下,引誘其他瀏覽器構建它們的實現,并完成這項工作。這是什么思路?作

QGq28資訊網——每日最新資訊28at.com

幾年前,消失的作用域 CSS,如今它回來了,而且比以前的版本要好得多。QGq28資訊網——每日最新資訊28at.com

更好的是,W3C規范基本穩定,現在Chrome中已經有一個工作原型。我們只需要社區稍微關注一下,引誘其他瀏覽器構建它們的實現,并完成這項工作。QGq28資訊網——每日最新資訊28at.com

這是什么思路?

作用域為CSS帶來了兩個關鍵點:QGq28資訊網——每日最新資訊28at.com

  • 更好地控制哪些選擇器針對哪些元素(即更好地操作級聯)。
  • 一組樣式可以基于DOM中的位置覆蓋另一組樣式。

局部樣式允許你在頁面上的單個組件內包含一組樣式。你可以使用.title選擇器,它只在Card組件內工作,并使用另一個.title選擇器,它只在 Accordion 中工作。你可以阻止一個組件的選擇器針對子組件中的元素,或者如果需要,也可以允許它們到達。QGq28資訊網——每日最新資訊28at.com

你不再需要BEM風格的類名。QGq28資訊網——每日最新資訊28at.com

此外,近度在級聯中變成了一等公民。如果兩個組件針對同一個元素(具有相同的特異性),內部組件的樣式將覆蓋外部組件的樣式。QGq28資訊網——每日最新資訊28at.com

它是如何工作的?

一切都始于@scope規則和一個選擇器,如下:QGq28資訊網——每日最新資訊28at.com

@scope (.card) {  /* 將以下樣式局限于`.card`內部 */  :scope {    padding: 1rem;    background-color: white;  }  .title {    font-size: 1.2rem;    font-family: Georgia, serif;  }}

這些樣式都限制在.card元素中。:scope是一個特殊的偽類,針對.card元素本身,.title針對標題內部的標題。QGq28資訊網——每日最新資訊28at.com

@scope規則本身不增加這些選擇器的特異性,所以它們都是(0, 1, 0)。是的,特異性仍然很重要,但這是好事??。稍后再說。QGq28資訊網——每日最新資訊28at.com

此時,你可以使用普通的后代選擇器來實現這一點。但當你在范圍內應用內部邊界或在頁面上重疊多個范圍時,新的、以前不可能的選項開始出現。讓我們看看它們是怎么做的...QGq28資訊網——每日最新資訊28at.com

內部范圍邊界

假設你預計將其他組件放入你的Cards中,所以你不希望.title 選擇器針對除屬于Card的那個標題之外的任何東西。為此,你在范圍上設置了一個內部邊界,如下:QGq28資訊網——每日最新資訊28at.com

@scope (.card) to (.slot) {  /* 限定的樣式只在`.card`內部,但不在`.slot`內部 */  :scope {    padding: 1rem;    background-color: white;  }  .title {    font-size: 1.2rem;    font-family: Georgia, serif;  }}

把這里的 to 關鍵字看作 直到:這個范圍是從.card到.slot定義的?,F在,沒有一個局限的選擇器會針對Card的.slot元素內部的任何東西。所以你可以這樣構建你的卡片:QGq28資訊網——每日最新資訊28at.com

<div class="card">  <h3 class="title">Moon lander</h3>  <div class="slot">    <!-- 局部樣式不會針對這里的任何東西! -->  </div></div>

范圍的影響受到了限制,使其不針對.slot內的任何東西。這樣,你可以嵌套兩個范圍,每個范圍都可以使用相同的通用標題類名,而不會發生沖突。實際上,你可能根本不再需要類名了:QGq28資訊網——每日最新資訊28at.com

@scope (.card) to (.slot) {  h3 {    font-size: 1.2rem;    font-family: Georgia, serif;  }}@scope (.accordion) to (.slot) {  h3 {    font-family: Helvetica, sans-serif;    text-transform: uppercase;    letter-spacing: 0.01em;  }}

你可以在 Card 內部放一個 Accordion,或者在 Accordion 內部放一個Card,它們各自的樣式不會發生沖突。QGq28資訊網——每日最新資訊28at.com

這被俗稱為 甜甜圈范圍,因為范圍中有一個洞。(如果內部邊界選擇器針對多個元素,它也可以有多個洞。)QGq28資訊網——每日最新資訊28at.com

Miriam Suzanne 建議使用這種方式是持續使用data-*屬性和屬性選擇器作為你的范圍:QGq28資訊網——每日最新資訊28at.com

@scope ([data-scope='media']) to (:scope [data-scope]) {  /* 限定的樣式在這里 */}

近度優先 Proximity precedence

另一個方面是近度的概念:來自內部范圍的樣式將覆蓋來自外部范圍的樣式。想象你有這樣兩個范圍:QGq28資訊網——每日最新資訊28at.com

@scope (.green) {  p {    color: green;  }}@scope (.blue) {  p {    color: blue;  }}

將以下內容應用于HTML。這里沒有內部范圍約束,所以兩個p選擇器都針對這里的內部段落。在這種情況下,內部范圍總是優先:QGq28資訊網——每日最新資訊28at.com

<div class="green">  <p>我是綠色的</p>  <div class="blue">    <p>我是藍色的</p>  </div></div><div class="blue">  <p>我是藍色的</p>  <div class="green">    <p>但我是綠色的</p>  </div></div>

注意這目前只在Chrome中有效,需要在chrome://flags中啟用實驗性Web平臺功能標志。QGq28資訊網——每日最新資訊28at.com

你可以在DevTools中檢查,看到每個范圍是如何根據其最近的接近性來覆蓋另一個的:QGq28資訊網——每日最新資訊28at.com

QGq28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-11849-0.html作用域 CSS 回來了,你知道嗎?

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

上一篇: 圖文并茂解釋 Java JVM、JRE 和 JDK

下一篇: Go 1.21.0 新增標準庫 Slices 和 Mps 詳解

標簽:
  • 熱門焦點
  • 6月iOS設備好評榜:第一蟬聯榜首近一年

    作為安兔兔各種榜單里變化最小的那個,2023年6月的iOS好評榜和上個月相比沒有任何排名上的變化,僅僅是部分設備好評率的下降,長年累月的用戶評價和逐漸退出市場的老款機器讓這
  • 太卷!Redmi MAX 100英寸電視便宜了:12999元買Redmi史上最大屏

    8月5日消息,從小米商城了解到,Redmi MAX 100英寸巨屏電視日前迎來官方優惠,到手價12999元,比發布價便宜了7000元,在大屏電視市場開卷。據了解,Redmi MAX 100
  • 一年經驗在二線城市面試后端的經驗分享

    忠告這篇文章只適合2年內工作經驗、甚至沒有工作經驗的朋友閱讀。如果你是2年以上工作經驗,請果斷劃走,對你沒啥幫助~主人公這篇文章內容來自 「升職加薪」星球星友 的投稿,坐
  • 破圈是B站頭上的緊箍咒

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之每年的暑期檔都少不了瞄準追劇女孩們的古偶劇集,2021年有優酷的《山河令》,2022年有愛奇藝的《蒼蘭訣》,今年卻輪到小破站抓住了追
  • 騰訊蓋樓,字節拆墻

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之&ldquo;想重溫暴刷深淵、30+技能搭配暴搓到爽的游戲體驗嗎?一起上晶核,即刻暴打!&rdquo;曾憑借直播騰訊旗下代理格斗游戲《DNF》一
  • 騰訊VS網易,最卷游戲暑期檔,誰能笑到最后?

    作者:無銹缽來源:財經無忌7月16日晚,上海1862時尚藝術中心。伴隨著幻象的精準命中,碩大的熒幕之上,比分被定格在了14:12,被寄予厚望的EDG戰隊以絕對的優勢戰勝了BLG戰隊,拿下了總決
  • iQOO Neo8系列新品發布會

    旗艦雙芯 更強更Pro
  • 榮耀Magicbook V 14 2021曙光藍版本正式開售,擁有觸摸屏

    榮耀 Magicbook V 14 2021 曙光藍版本正式開售,搭載 i7-11390H 處理器與 MX450 顯卡,配備 16GB 內存與 512GB SSD,重 1.48kg,厚 14.5mm,具有 1.5mm 鍵盤鍵程、
  • 三翼鳥智能家居亮相電博會,讓用戶體驗更真實

    2021電博會在青島國際會展中心開幕中,三翼鳥直接把“家”搬到了現場,成為了展會的一大看點。這也是三翼鳥繼9月9日發布了行業首個一站式定制智慧家平臺后的
Top 主站蜘蛛池模板: 江都市| 靖宇县| 锦屏县| 治县。| 涿州市| 连江县| 准格尔旗| 德州市| 江津市| 江门市| 竹山县| 横山县| 安化县| 姚安县| 大方县| 台湾省| 南康市| 禹州市| 炎陵县| 额敏县| 闵行区| 嘉禾县| 涿州市| 白沙| 潮州市| 涟水县| 黄梅县| 洪湖市| 萨嘎县| 开原市| 蓝山县| 陵川县| 郓城县| 理塘县| 和静县| 微博| 布拖县| 广汉市| 沾化县| 颍上县| 西和县|