LCUI
简体中文
简体中文
  • 开始
  • 基础
    • 安装
    • 介绍
    • 约定
    • XML
    • CSS
    • 架构
  • 实例
    • 主循环
    • 工作线程
    • 定时器
    • 事件
  • 组件
    • 属性
    • 样式
    • 原型
    • 事件
    • 生命周期
    • 绘制流程
  • 性能
  • CSS
    • CSS 数据库
    • CSS 解析器
  • 布局
    • 正常流布局
    • 弹性盒子布局
  • 图形
    • 绘制简单的图形
    • 绘制复杂的图形
    • 像素操作
    • 图像文件操作
  • 字体
    • 字体数据库
    • 字体渲染引擎
    • 文本排版与渲染
  • 驱动
    • 事件循环
    • 视频
    • 鼠标
    • 键盘
    • 触控
  • 输入法
由 GitBook 提供支持
在本页

CSS

CSS 引擎的工作原理、相关概念和相关接口用法介绍。

上一页性能下一页CSS 数据库

最后更新于4年前

CSS 是浏览器中用来指定文档如何展示给用户的一门语言——如网页的样式、布局、等等,不仅限于浏览器,它也被其它的一些 UI 开发库所支持,而出于研发和学习成本上的考虑,LCUI 也选择采用 CSS 来控制界面样式。

LCUI 将 CSS 引擎划分为数据库和解析器两模块,前者用于将 CSS 数据以便于操作和查询的数据结构存储在内存中,而后者则负责将包含 CSS 代码的字符串解析成适合读写的数据结构并添加到数据库中。

在接下来的章节中,我们将介绍 CSS 引擎的工作原理、数据存储、查询方式和常用接口的用法,希望你在看完后能够对它有更深入的理解,当然,如果你能够发现一些问题并向我们提供改进方案的话,那就更好了。

待办事项

重新设计 CSS 引擎

新的 CSS 引擎应该解决以下问题:

  • 可作为一个独立的项目,能被编译为函数库供其它项目使用

  • 可创建多个 CSS 库实例,而不是现在这样全局共用同一个 CSS 库

  • 可轻松扩展新的语法解析器

  • 可轻松添加新的 CSS 属性解析器

  • 有完整的测试用例,且测试覆盖率达到 80% 以上

  • 参考 ,采用严谨的单词来命名标识符

CSS 的标准文档