文本数据类型
每个 CSS 声明都包含一个属性/值对。值可以包含各种数据类型,具体取决于属性,例如单个关键字、整数、函数或不同类型的组合;有些值有单位,有些则没有。本指南概述了文本数据类型。有关每个值类型的更详细信息,请参阅该页面。
文本数据类型要么是 <string>,一个带引号的字符序列,要么是 <ident>,一个“CSS 标识符”,它是一个不带引号的字符串,要么是可选带引号的 <url>。<string> 用单引号或双引号括起来。CSS 标识符在规范中列为 <ident> 或 <custom-ident>,必须不带引号。
在 CSS 规范中,可由 Web 开发人员定义的值——例如关键帧动画名称、字体系列名称或网格区域——被列为 <custom-ident>、<string> 或两者。
当允许带引号和不带引号的用户定义文本值时,规范将列出 <custom-ident> | <string>,这意味着引号是可选的,例如 [关键帧动画名称] 的情况
@keyframes validIdent {
/* keyframes go here */
}
@keyframes 'validString' {
/* keyframes go here */
}
某些文本值如果包含在引号中则无效。例如,grid-area 的值可以是 <custom-ident>,因此如果我们的网格区域名为 content,我们将在不带引号的情况下使用它
.item {
grid-area: content;
}
相比之下,作为 <string> 的数据类型,例如 content 属性的字符串值,必须带引号
.item::after {
content: "This is my content.";
}
虽然你通常可以创建任何你想要的名字,包括使用表情符号,但标识符不能是 none、unset、initial 或 inherit,不能以数字或两个破折号开头,并且通常你不想让它成为任何其他预定义的 CSS 关键字。有关更多详细信息,请参阅 <custom-ident> 和 <string> 参考页面。
预定义关键字值
预定义关键字是该属性的规范定义的文本值。这些关键字也是 CSS 标识符,因此不带引号使用。
在 CSS 规范或 MDN 属性页面中查看 CSS 属性值语法时,允许的关键字将以下列形式列出。以下枚举值是 float 允许的预定义关键字值。
left | right | none | inline-start | inline-end
此类值不带引号使用
.box {
float: left;
}
CSS 全局关键字
除了作为属性规范一部分的预定义关键字之外,所有 CSS 属性都接受 CSS 范围的或“全局”属性值 initial、inherit、unset、revert 和 revert-layer,这些值明确指定了默认行为。
URLs
一个 <url> 类型使用函数表示法,它接受一个作为 URL 的 <string>。这可以是绝对 URL 或相对 URL。例如,如果你想包含一个背景图像,你可以使用以下两种方式中的任何一种
.box {
background-image: url("images/my-background.png");
}
.box {
background-image: url("https://www.exammple.com/images/my-background.png");
}
url() 的参数可以带引号也可以不带引号。如果不带引号,它将被解析为 <url-token>,它有额外的要求,包括转义某些字符。有关更多信息,请参阅 <url>。