Bulma Customizer Tool 是一个交互式 Web 应用程序,允许用户通过修改 CSS 变量来定制 Bulma CSS 框架。它提供了一个直观的界面,无需编写代码即可调整颜色、排版、间距和特定组件的样式。本文档将解释 customizer 的工作原理、其架构和实现细节。
有关不同框架变体的信息,请参阅 框架变体。
Bulma Customizer Tool 通过 CSS 变量实现 Bulma 外观的实时定制。用户可以修改全局设置和特定组件的变量,立即预览更改,并将生成的 CSS 导出以供项目使用。
来源:docs/_react/bulma-customizer/src/App.jsx1-590 docs/_react/bulma-customizer/src/components/Export.jsx1-121
Customizer 是一个集成到 Bulma 文档网站的 React 应用程序。它构建于现代 React 实践之上,包括 Context API、函数组件和 Hooks。
来源:docs/_react/bulma-customizer/src/App.jsx1-590 docs/_react/bulma-customizer/src/main.jsx1-10
来源:docs/_react/bulma-customizer/src/App.jsx1-590 docs/_react/bulma-customizer/src/components/VarItem.jsx1-103 docs/_react/bulma-customizer/src/components/Slider.jsx1-168 docs/_react/bulma-customizer/src/components/Color.jsx1-265 docs/_react/bulma-customizer/src/components/Export.jsx1-121
App 组件作为入口点,为整个应用程序提供状态管理。它创建了一个 React context (CustomizerContext) 以与所有子组件共享状态和函数。
App 组件的关键职责
Context 提供
来源:docs/_react/bulma-customizer/src/App.jsx147-226 docs/_react/bulma-customizer/src/App.jsx529-590
Customizer 在初始化时读取所有 Bulma CSS 变量,跟踪每个变量的原始值和当前值。CSS 变量对象的结构是
当变量被修改时,Customizer 会
来源:docs/_react/bulma-customizer/src/App.jsx273-455 docs/_react/bulma-customizer/src/App.jsx457-494
Slider 组件提供了一种交互方式来调整数值。它用于操作颜色属性(色相、饱和度、亮度)和其他数值 CSS 变量。
特性
来源:docs/_react/bulma-customizer/src/components/Slider.jsx1-168
Color 组件用于调整颜色值。它提供了
来源:docs/_react/bulma-customizer/src/components/Color.jsx1-265
VarItem 组件显示并允许编辑单个 CSS 变量
来源:docs/_react/bulma-customizer/src/components/VarItem.jsx1-103
Export 组件生成并显示应用了所有自定义项的 CSS 代码
来源:docs/_react/bulma-customizer/src/components/Export.jsx1-121
Customizer 将变量组织到选项卡和页面中,以便于导航
来源:docs/_react/bulma-customizer/src/App.jsx99-144
Customizer 拥有所有 CSS 变量的预定义元数据,按组件或类别组织。每个变量都有描述和相关元数据。
颜色变量定义的示例
| 变量 ID | 描述 |
|---|---|
| primary-h | 主色的色相 |
| primary-s | 主色的饱和度 |
| primary-l | 主色的亮度 |
| link-h | 链接颜色的色相 |
| link-s | 链接颜色的饱和度 |
| link-l | 链接颜色的亮度 |
| info-h | 信息颜色的色相 |
| ... | ... |
来源:docs/_react/bulma-customizer/src/constants.js77-105
Customizer 初始化时
来源:docs/_react/bulma-customizer/src/App.jsx227-237 docs/_react/bulma-customizer/src/App.jsx273-455
来源:docs/_react/bulma-customizer/src/App.jsx189-202 docs/_react/bulma-customizer/src/App.jsx457-494
Export 组件根据修改后的变量生成 CSS
生成的 CSS 可以在主 Bulma CSS 之后包含到项目中,以覆盖默认值。
来源: docs/_react/bulma-customizer/src/components/Export.jsx39-68
定制器已集成到 Bulma 文档站点中,包含以下元素
#bulma-customizer-app),用于托管 React 应用程序来源: docs/_includes/global/customizer.html1-40 docs/customizer.html1-10
Bulma Customizer 使用 Vite 构建,Vite
来源: docs/_react/bulma-customizer/vite.config.js1-24
Bulma Customizer 工具提供了一种强大而用户友好的方式来个性化 Bulma CSS 框架。通过利用 CSS 变量和 React 的动态功能,它能够生成干净、生产就绪的 CSS 输出,同时提供即时的视觉反馈。该工具对于希望快速创建 Bulma 自定义主题而无需编写 CSS 或深入研究文档以查找变量名的开发人员尤其有价值。