百科狗-知识改变命运!
--

css 属性值定义语法 - css 语法和语义

是丫丫呀1年前 (2023-11-21)阅读数 22#技术干货
文章标签组合

css 属性值定义语法

CSS属性值定义语法(CSS value definition syntax)是用来限定CSS属性合法取值的专门语法。在此基础之上,一个CSS属性的合法取值也由语义所限制,比如一些数字必须是正数。

CSS属性值定义语法描述了哪些值是可取的CSS属性,基本组成元素包括关键字、符号与带类型的参数。

基本组成元素

关键字

一般关键字

有预定义含义的一般关键字按字面意义出现,不需要引号,如auto, smallerease-in

特殊关键字:inheritinitialunset

所有CSS属性值都可以使用inheritinitialunset,它们的定义贯穿 CSS 始终。它们未显示在值定义中,但都是隐含可用的。

符号

CSS中,有一些符号是可以出现的,比如斜杠('/')或者逗号(',')等。它们用来分隔属性值:逗号用来分隔数个并列值,或者分隔函数的参数;斜杠用来分隔一个值的多个部分,通常用在CSS缩写中分离具有相同类型但属于不同属性的组件。

这两种符号会以其字面意义出现在CSS属性值定义中。

带类型的参数

基本类型

一些类型在CSS中经常出现,CSS规范中将其专门定义,称为基本类型,用一对尖括号表示:'',例如:, , …

其他类型

其他类型同样也用一对尖括号表示:''。

其他类型分为两种:

  • 共享同一个属性名称的数个类型。在这种情况下,数据类型与属性共享同一组值。它们出现在一对引号之中,经常用于属性的缩写。
  • 不共享同一个属性名称的数个类型,它们与基本类型很相似,不同是:这种参数仅在规范中相关属性的描述处定义,而基本类型在规范中有专门定义。

组合符号

方括号

方括号将数个基本元素组成一个整体,用来强调组合的优先级。例如:

bold [ thin &&  ]

以下均为该例的合法取值:

  • bold thin 2vh
  • bold 0 thin
  • bold thin 3.5em

但以下不是合法取值:

  • thin bold 3em 因为bold被放置在方括号定义的整体之中。根据定义,bold必须出现在方括号定义的整体之前。

并置

并置是指将数个关键字、符号或类型,用空格分开写在一起。并置中所有的元素都必须出现并且按所规定的顺序出现。例如:

bold  , thin

以下均为该例的合法取值:

  • bold 1em, thin
  • bold 0, thin
  • bold 2.5cm, thin
  • bold 3vh, thin

但以下不是合法取值:

  • thin 1em, bold因为顺序有错。
  • bold 1em thin因为所有元素都必须出现,包括逗号。
  • bold 0.5ms, thin因为ms是时间值,不是长度值:

“与”组合符:&&

“与”组合符连接的各个部分都必须出现,但是顺序任意。例如:

bold && 

以下均为该例的合法取值:

  • bold 1em
  • bold 0
  • 2.5cm bold
  • 3vh bold

但以下不是合法取值:

  • bold因为长度值没有出现。
  • bold 1em bold因为各部分必须恰好出现一次。
注:并置的优先级高于“与”组合符。例如bold thin && 等价于[ bold thin ] && 。它们的合法取值是:bold thin bold thin但不是bold thin

“或”组合符:||

“或”组合符表示其连接的所有组成元素是可选的,次序任意,但是至少其中一个要出现。“或”组合符通常用来描述属性缩写 (en-US)中的各部分。

 ||  || 

以下均为该例的合法取值:

  • 1em solid blue
  • blue 1em
  • solid 1px yellow

但以下不是合法取值:

  • blue yellow因为一个组成部分最多出现一次。
  • bold因为它不允许出现。
注:“与”组合符的优先级高于“或”组合符,比如bold || thin && 等价于bold || [ thin && ]。它们的合法取值是:bold, thin , bold thin , 或者thin bold ,但不是: bold thin因为bold若出现,则必须出现在thin && 整体的前面或后面。

“互斥”组合符:|

“互斥”组合符表示各组成部分中只能恰好出现一个,通常用来分隔一个属性的所有可选值。例如:

 |  | left | center | right | top | bottom

css 属性值定义语法 - css 语法和语义

以下均为该例的合法取值:

  • 3%
  • 0
  • 3.5em
  • left
  • center
  • right
  • top
  • bottom

但以下不是合法取值:

  • center 3% as only one of the components must be present.
  • 3em 4.5em as a component must be present at most one time.

注:“或”组合符的优先级高于“互斥”组合符,比如bold | thin || 等价于bold | [ thin || ]。它们的合法取值是:bold, thin, , thin, 或thin ,但不能是bold ,因为“互斥”组合符所连接的数个部分中,只有一个能出现。

数量符号

数量符号用来描述一个元素可以出现多少次。若不标注,则这个元素比如恰好出现一次。

注意数量描述符不能叠加出现,并且优先级最高。

星号 (*)

星号表示可以出现零次(即不出现),一次,或任意多次。例如:

bold smaller*

以下均为该例的合法取值:

  • bold
  • bold smaller
  • bold smaller smaller
  • bold smaller smaller smaller and so on.

但以下不是合法取值:

  • smaller 因为bold并置于smaller,必须出现在任何smaller之前。

加号 (+)

加号表示可以出现一次或多次。例如:

bold smaller+

以下均为该例的合法取值:

  • bold smaller
  • bold smaller smaller
  • bold smaller smaller smaller and so on.

但以下不是合法取值:

  • bold 因为smaller必须出现至少一次。
  • smaller 因为bold 是并置关系,必须在smaller之前出现。

问号 (?)

问号表示可选,即出现零次或一次。例如:

bold smaller?

以下均为该例的合法取值:

  • bold
  • bold smaller

但以下不是合法取值:

  • bold smaller smaller 因为smaller最多出现一次。
  • smaller 因为bold是并置关系,必须出现在smaller之前。

大括号 ({ })

大括号包含两个以逗号分隔的整数A与B,表示最少出现A次,且最多出现B次。例如:

bold smaller{1,3}

以下均为该例的合法取值:

  • bold smaller
  • bold smaller smaller
  • bold smaller smaller smaller

但以下不是合法取值:

  • bold 因为smaller 至少要出现一次。
  • bold smaller smaller smaller smaller 因为smaller 最多出现三次。
  • smaller 因为bold是并置关系,必须出现在smaller之前。

井号 (#)

井号表示可以出现一次或多次,与加号相似。但是其多次出现必须以逗号分隔。例如:

bold smaller#

以下均为该例的合法取值:

  • bold smaller
  • bold smaller, smaller
  • bold smaller, smaller, smaller and so on.

但以下不是合法取值:

  • bold 因为smaller必须至少出现一次。
  • bold smaller smaller smaller 因为多个smaller必须以逗号分隔。
  • smaller 因为bold是并置关系,必须出现在smaller之前。

叹号 (!)

组后面的叹号表示该组是必需的,并且至少产生一个值;即使组内项目的语法允许省略全部的值,也至少要保留一个值。

[ bold? smaller? ]!

以下均为该例的合法取值:

  • bold
  • smaller
  • bold smaller

但以下不是合法取值:

  • boldsmaller都没有:因为至少要出现一个。
  • smaller bold:因为 bold 必须出现在 smaller 前面。
  • bold smaller bold:因为 bold 只能出现一次。

总结

符号名称描述示例
组合符号
并置各部分必须出现且按顺序出现solid
&&“与”组合符各部分必须出现,但可以不按顺序 &&
||“或”组合符各部分至少出现一个,可以不按顺序 ||
|“互斥”组合符各部分恰好出现一个smaller | small | normal | big | bigger
[ ]方括号强调优先级bold [ thin && ]
数量符号
无数量符号恰好一次solid
*星号零次、一次或多次bold smaller*
+加号一次或多次bold smaller+
?问号零次或一次(即可选)bold smaller?
{A,B}大括号至少A次,至多Bbold smaller{1,3}
#井号一次或多次,但多次出现必须以逗号分隔bold smaller#
!叹号组必须产生一个值[ bold? smaller? ]!

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)