自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

原生 CSS 中類似 Sass 的嵌套

開(kāi)發(fā) 前端
當(dāng)你想為某一特定元素編寫 CSS 時(shí),如果該元素是另一元素的子元素,這就非常有用了。你不必反復(fù)編寫父選擇器。只需將子選擇器嵌套在父選擇器中就可以了。

如果你和我一樣覺(jué)得 Sass 的 CSS 嵌套功能非常有用,那么你一定會(huì)很高興地知道,我們的好日子就要來(lái)了。

因此,如果你不知道,Sass 的 CSS 嵌套功能允許您將 CSS 選擇器嵌套在其他選擇器中。例如,你可以這樣寫:

.parent {
    .child {
        color: red;
    }
}

這將被編譯成以下 CSS。

.parent .child {
    color: red;
}

當(dāng)你想為某一特定元素編寫 CSS 時(shí),如果該元素是另一元素的子元素,這就非常有用了。你不必反復(fù)編寫父選擇器。只需將子選擇器嵌套在父選擇器中就可以了。

原生 CSS 嵌套

現(xiàn)在,原生 CSS 也出現(xiàn)了類似的功能。CSS 嵌套模塊[1]現(xiàn)已在 Safari 技術(shù)預(yù)覽版 162 和 Chrome Dev 中附帶(通過(guò)在瀏覽器中啟用“Experimental Web Platform features(實(shí)驗(yàn)性 Web 平臺(tái)功能)”標(biāo)志)。

啟用后,你可以像這樣在原生 CSS 中編寫上述類似 Sass 的代碼。

.parent {
    .child {
        color: red;
    }

    #childWithId {
        color: red;
    }
}

很整潔,對(duì)吧?

但也有一些注意事項(xiàng)。

局限性

要使用 CSS 嵌套,你必須嵌套僅以以下符號(hào)開(kāi)頭的選擇器:.、:、[、>、+、~、#、*。這是因?yàn)闉g覽器解析 CSS 的方式。如果你嵌套的選擇器不以上述任何符號(hào)(例如 p、span、`div`` 等)開(kāi)頭,則嵌套將被忽略。

為了解決這個(gè)問(wèn)題,你可以在子選擇器前面添加 & ,如下所示。

.parent {
    & span {
        color: red;
    }
}

上面的代碼將被編譯成下面的CSS。

.parent span {
    color: red;
}

這也適用于如下場(chǎng)景。

ul {
  padding-left: 1em;
}

.component ul {
  padding-left: 0;
}

可以看出,這里的 ul 選擇器并沒(méi)有嵌套在 .component 選擇器中。

要使 ul 選擇器嵌套在 .component 選擇器內(nèi),您可以將 & 附加到 .component 選擇器,如下所示。

ul {
  padding-left: 1em;

  .component & {
    padding-left: 0;
  } 
}

差不多就是這樣了!

由于 CSS Nesting Module 仍處于草案階段,因此不建議在生產(chǎn)中使用它。但很高興知道,一旦該功能足夠成熟,它就會(huì)出現(xiàn)在原生 CSS 中。

在此之前,您可以在支持的瀏覽器之一中對(duì)其進(jìn)行測(cè)試,并在 bugs.webkit.org[2] 或 bugs.chromium.org[3] 上提交你的反饋或問(wèn)題。

圖片圖片

Reference

[1]CSS 嵌套模塊:https://drafts.csswg.org/css-nesting-1/

[2]bugs.webkit.org:http://bugs.webkit.org/

[3]bugs.chromium.org:https://bugs.chromium.org/p/chromium/issues/list

責(zé)任編輯:武曉燕 來(lái)源: 獨(dú)立開(kāi)發(fā)者張張
相關(guān)推薦

2023-01-27 09:14:35

CSS原生嵌套

2023-12-06 08:01:03

CSSPostCSS

2023-09-11 07:11:04

CSSNesting

2022-04-13 09:01:45

SASSCSS處理器

2023-09-05 09:44:26

CSS處理器函數(shù)

2023-09-05 09:40:55

SCSS預(yù)處理器

2024-07-19 08:13:00

2021-08-12 06:38:23

CSS SASSLESS

2022-03-22 09:07:34

開(kāi)發(fā)CSS技術(shù)

2022-01-12 14:05:58

Sass代編譯器 css

2021-01-13 08:06:50

SassFacebook Less

2015-07-14 11:01:39

CSS科技公司

2023-02-13 09:31:07

CSS前端

2010-09-03 15:20:36

CSS組合CSS嵌套

2024-09-23 00:01:00

TailwindCSSSASS

2010-08-31 16:26:31

CSSFirefoxdiv

2020-10-28 07:03:11

NodeSassDart Sass

2010-09-10 14:26:06

SQLFor循環(huán)

2010-01-04 13:44:41

SQL

2024-04-23 10:29:44

SassCSS前端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)