CSS
CSS 引擎的工作原理、相关概念和相关接口用法介绍。
CSS 是浏览器中用来指定文档如何展示给用户的一门语言——如网页的样式、布局、等等,不仅限于浏览器,它也被其它的一些 UI 开发库所支持,而出于研发和学习成本上的考虑,LCUI 也选择采用 CSS 来控制界面样式。
LCUI 将 CSS 引擎划分为数据库和解析器两模块,前者用于将 CSS 数据以便于操作和查询的数据结构存储在内存中,而后者则负责将包含 CSS 代码的字符串解析成适合读写的数据结构并添加到数据库中。
在接下来的章节中,我们将介绍 CSS 引擎的工作原理、数据存储、查询方式和常用接口的用法,希望你在看完后能够对它有更深入的理解,当然,如果你能够发现一些问题并向我们提供改进方案的话,那就更好了。
待办事项
重新设计 CSS 引擎
新的 CSS 引擎应该解决以下问题:
可作为一个独立的项目,能被编译为函数库供其它项目使用
可创建多个 CSS 库实例,而不是现在这样全局共用同一个 CSS 库
可轻松扩展新的语法解析器
可轻松添加新的 CSS 属性解析器
有完整的测试用例,且测试覆盖率达到 80% 以上
参考 CSS 的标准文档,采用严谨的单词来命名标识符
最后更新于