W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
無論你是否相信,字符串在 CSS 和 SCSS 中都占有重要地位。大多數(shù)的 CSS 值不是數(shù)值就是字符串,所以遵循固定的編程規(guī)范處理 Sass 中的字符串是非常重要的一項工作。
為了避免潛在的字符編碼問題,強(qiáng)力建議在入口文件中通過?@charset
?指令使用UTF-8?編碼格式。請確保該指令是文件的第一條語句,并排除其他字符編碼聲明。
@charset 'utf-8';
CSS 中不要求字符串必須用引號包裹,甚至是字符串中包含空格的。就拿font-family
屬性來說:無論你是否使用引號包裹,CSS 解析器都可以正確解析。
因此,Sass?也不強(qiáng)制要求字符串必須被引號包裹。更棒的是(你也會如此認(rèn)為),被引號包裹和沒被包裹的一對字符串完全等同(例如,'abc'
?嚴(yán)格等同于?abc
)。
話雖如此,不強(qiáng)制要求字符串被引號包裹的畢竟是少數(shù),所以,在 Sass 中字符串應(yīng)該始終被單引號('
)所包裹(在?querty?鍵盤中單引號比雙引號更容易輸入)。即使不考慮與其他語言的一致性,單是考慮 CSS 的近親 JavaScript,也有數(shù)條理由這么做:
// Yep
$direction: 'left';
// Nope
$direction: left;
CSS 中類似?initial
?或?sans-serif
?的專用名詞無須引用起來。事實上,font-family: 'sans-serif'
?該聲明是錯誤的,因為 CSS 希望獲得的是一個標(biāo)識符,而不是一個字符串。因此,我們無須引用這些值。
// Yep
$font-type: sans-serif;
// Nope
$font-type: 'sans-serif';
// Okay I guess
$font-type: unquote('sans-serif');
就像上例這樣,我們就可以區(qū)別用于 CSS 值的字符串(CSS 標(biāo)識符)和 Sass 的字符串類型了(比如 map 的值)。
我們沒有引用前者,但卻使用單引號包裹了它。
如果字符串內(nèi)包含了一個或多個單引號,一種解決方案就是使用雙引號包裹整個字符串,從而避免使用過多的轉(zhuǎn)義字符。
// Okay
@warn 'You can\'t do that.';
// Okay
@warn "You can't do that.";
URL 最好也用引號包裹起來,原因和上面所描述一樣:
// Yep
.foo {
background-image: url('/images/kittens.jpg');
}
// Nope
.foo {
background-image: url(/images/kittens.jpg);
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: