gpt4 book ai didi

css - 当一个 CSS 属性可以有多个值时,这些值是否总是用空格分隔?

转载 作者:行者123 更新时间:2023-12-01 10:49:18 25 4
gpt4 key购买 nike

"font" property可以包含多个值来指定字体样式、字体粗细等。

我正在使用 CSS 解析器,但似乎找不到明确的答案:是始终由空格分隔的 CSS 属性值 ?

font: italic small-caps bold 12px arial,sans-serif

上面的例子有没有空格的“arial,sans-serif”。所有其他 w3c 示例都遵循相同的约定,这意味着空格是保留用于将值彼此分开——这似乎是一个安全的假设,但我还没有看到它得到明确证实。

我见过的其他问题和讨论涉及速记选择器、输出不同的属性值(那些的答案似乎也假设空格分隔),以及是否可以在一行中声明多个属性。不过,他们似乎都没有做出最终决定:空格是最终的分隔符吗?

最佳答案

您问题的技术答案是它完全取决于属性(property)本身。
但一般来说,是的,空格用于分隔 CSS 中属性值的不同组件。
正如您在 font-family 中看到的那样然而,它所取的值是一个以逗号分隔的字体列表(通常称为字体堆栈)。它使用逗号作为分隔符的事实仅由该属性的规范定义,请参阅 CSS2.1, section 15.3 :

The property value is a prioritized list of font family names and/or generic family names. Unlike most other CSS properties, component values are separated by a comma to indicate that they are alternatives:

body { font-family: Gill, Helvetica, sans-serif }

CSS Fonts level 3, section 3.1 :

Unlike other CSS properties, component values are a comma-separated list indicating alternatives.


逗号前面或后面的空格都可以接受,或两者兼而有之。它并不重要,也不会改变属性(property)值(value)的含义。 W3C 规范中显示的约定是逗号后的单个空格。您链接到的页面是 W3Schools,它可能有自己的约定(实际上它显然没有——即使它自己的示例在使用空格时也不一致)。
确实,即使是 font属性尽管是简写,但具有自定义语法:为了指定 line-height , font-size必须指定后跟正斜杠,例如, font: 12px/1.5相当于 font-size: 12px; line-height: 1.5 .见 this answer .
但同样,对于在属性值中使用什么字符作为分隔符,没有明确的包罗万象的答案。每个 CSS 属性都有自己的可能值语法,这些语法总是在其各自的规范中详细说明。

关于css - 当一个 CSS 属性可以有多个值时,这些值是否总是用空格分隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22392420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com