為什麼 CSS 命名的網格區域不加引號?
根據 CSS 網格規範,網格區域的值被定義為網格線,即使用自訂識別類型。然而,根據 MDN 文檔,標識符不能被引用,因為這會導致字串值。這就提出了為什麼必須使用不含引號的 ID 來存取命名網格區域的問題。
為了說明問題,請考慮以下範例:
.grid { display: grid; grid: "a b" 1fr "c d" 1fr / 1fr 1fr; } .foo { /* This works as expected, assigning the element to area 'b' in the upper right corner */ grid-area: b; } .bar { /* Quoting the area name fails to resolve correctly */ grid-area: "c"; }
<div class="grid"> <span class="foo">foo</span> <span class="bar">bar</span> <span class="hello">hello</span> </div>
在此範例中,使用不帶引號的網格區域將foo 元素分配給b 區域:b 。然而,當嘗試使用引號的網格區域:「c」將 bar 分配給 c 區域時,它無法正確解析。
這種看似違反直覺的行為是由於決定使用自訂標識符而不是字串而引起的– 表示命名的網格區域。通常,CSS 屬性使用識別碼作為其值,但 font-family、content 和 grid-template-areas 等例外使用帶引號的字串。
選擇背後的原因
CSS 網格規範開發人員選擇在命名網格區域中使用標識符而不是字串,主要是為了與 CSS 規範的其餘部分保持一致。來自規範編寫者 2013 年的討論:
[使用識別符] 具有以下好處:
- 使用標識符,與 CSS的其餘部分一致
- 提供標識相同位置的名稱的視覺分組
- 允許命名網格區域模板語法(使用字串)與網格模板速記中的命名行共存。
此外,2013 年的另一次討論強調:
查看當前在 grid-definition-rows/columns中聲明命名網格線的語法,我們得出的結論是,當前語法太糟糕了:
- 我們使用字串來表示用戶身份,這與 CSS 中的其他所有內容不一致。
結論
雖然可能沒有強有力的技術理由來優先選擇專門用於命名網格區域的標識符,但規範作者的目標是與CSS 中的通用方法保持一致。透過使用標識符,命名網格區域與大多數 CSS 屬性保持一致,並提供一致的使用者體驗。
以上是為什麼 CSS 命名網格區域不需要引號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

當他們在2013年去Chrome時,我們失去了歌劇。與Edge今年早些時候也進行了同樣的交易。邁克·泰勒(Mike Taylor)稱這些變化為“減少

在本週的綜述中,Apple進入Web組件,Instagram如何插入腳本以及一些思考的食物,以進行自託管關鍵資源。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

記事本++7.3.1
好用且免費的程式碼編輯器