@page 选择器不需要嵌套,因为假定了页面上下文:
@page 规则中的声明被称为在页面上下文中。
负边距是特定于用户代理的:
由于负边距值(在页面框或元素上)或绝对定位内容可能最终在页面框之外,但此内容可能被“剪切”——由用户代理、打印机或最终由切纸机.
此外,CSS 语法没有定义嵌套 at 规则的行为。
作品有:
样式表
: [ CHARSET_SYM 字符串 ';' ]?
[S|CDO|CDC]* [ 导入 [ CDO S* | 疾病预防控制中心* ]* ]*
[ [ 规则集 | 媒体 | 页] [ CDO S* | 疾病预防控制中心* ]* ]*
;
进口
: IMPORT_SYM S*
[STRING|URI] S* 媒体列表?';' 小号*
;
媒体
: MEDIA_SYM S* media_list '{' S* 规则集* '}' S*
;
媒体列表
: 中 [ 逗号 S* 中]*
;
中等的
: IDENT S*
;
页
: PAGE_SYM S* 伪页面?
'{' S* 声明?[';' S* 声明?]* '}' S*
;
伪页面
: ':' IDENT S*
;
操作员
: '/' S* | ',' S*
;
组合子
: '+' S*
| '>' S*
;
一元运算符
: '-' | '+'
;
财产
: IDENT S*
;
规则集
: 选择器 [ ',' S* 选择器 ]*
'{' S* 声明?[';' S* 声明?]* '}' S*
;
选择器
: simple_selector [组合选择器| S+ [ 组合子?选择器]?]?
;
简单选择器
:元素名称[哈希| 班级 | 属性 | 伪]*
| [哈希| 班级 | 属性 | 伪]+
;
班级
:'。' 标识
;
元素名称
: 标识 | '*'
;
属性
: '[' S* IDENT S* [ [ '=' | 包括 | DASHMATCH ] S*
[ 标识 | 字符串] S* ]?']'
;
伪
:':'[标识| 函数 S* [标识 S*]?')']
;
宣言
: 属性 ':' S* expr prio?
;
优先
: IMPORTANT_SYM S*
;
表达式
: 术语 [ 运算符?学期 ]*
;
学期
: 一元运算符?
[ 数字 S* | 百分比 S* | 长度 S* | 特快专递* | EXS S* | 角度 S* |
时间 S* | 频率 S* ]
| 字符串 S* | 标识 S* | URI S* | 六角色 | 功能
;
功能
: 函数 S* expr ')' S*
;
/*
* 它必须对颜色有一个限制
* 有 3 或 6 个十六进制数字(即 [0-9a-fA-F])
* 之后 ”#”; 例如,“#000”是可以的,但“#abcd”不是。
*/
十六进制颜色
: 哈希 S*
;