CSS 值定义语法
- 开始日期:2023-04-09
- 目标主要版本:3.x
- 参考问题:无
- 实现 PR:#287
概括
添加新的 CSS 属性注册函数,支持使用 CSS 值定义语法来定义 CSS 属性的有效值。
基本示例
注册自定义属性:
css_register_property(
"custom-prop",
"normal | none", "normal",
css_cascade_custom_prop
);
内置的 width 属性的注册方式:
css_register_property_with_key(
css_key_width,
"width",
"auto | <length> | <percentage>", "auto",
css_cascade_width
);
内置的 background 简写属性的定义方式:
// 先为一些复杂值定义注册别名
css_register_valdef_alias("image", "<url>");
css_register_valdef_alias("bg-image", "none | <image>");
css_register_valdef_alias(
"bg-position",
"["
" [ left | center | right | top | bottom | <length-percentage> ] |"
" [ left | center | right | <length-percentage> ]"
" [ top | center | bottom | <length-percentage> ] |"
" [ center | [ left | right ] <length-percentage>? ] &&"
" [ center | [ top | bottom ] <length-percentage>? ]"
"]");
css_register_valdef_alias(
"bg-size",
"[ <length> | <percentage> | auto ]{1,2} | cover | contain");
css_register_valdef_alias("repeat-style",
"repeat-x | repeat-x | repeat | no-repeat");
// 注册简写属性
css_register_shorthand_property(css_key_background, "background",
"<bg-image> || <bg-position> || <bg-size> || <repeat-style> || "
"<color>");