CSS 解析器
简单的例子
这个例子展示了如何从字符串中加载 CSS 样式:
#include <LCUI.h>
#include <LCUI/gui/css_library.h>
#include <LCUI/gui/css_parser.h>
int main(void)
{
LCUI_Selector selector = Selector(".button");
LCUI_StyleSheet stylesheet = StyleSheet();
LCUI_InitCSSLibrary();
LCUI_InitCSSParser();
LCUI_LoadCSSString(".toolbar .button { color: #000 }");
LCUI_GetStyleSheet(selector, stylesheet);
LCUI_PrintStyleSheet(stylesheet);
StyleSheet_Delete(stylesheet);
Selector_Delete(selector);
LCUI_FreeCSSParser();
LCUI_FreeCSSLibrary();
return 0;
}
LCUI_LoadCSSString()
函数用于从字符串中加载 CSS 样式到数据库中,它内部会调用一系列的解析器对字符串进行解析,最终转换成便于操作的数据结构。
工作流程
CSS 解析器在解析时会将解析目标分为:无、注释、规 则名称、规则数据、选择器、CSS 属性名 和 CSS 属性值,例如以下 CSS 代码:
@import "common.css";
/* button style */
.btn {
font-size: 16px;
}