ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Ignis样式定制终极指南:用CSS和SCSS打造专属桌面主题

Ignis样式定制终极指南:用CSS和SCSS打造专属桌面主题 Ignis样式定制终极指南用CSS和SCSS打造专属桌面主题【免费下载链接】ignisA widget framework for building desktop shells, written and configurable in Python项目地址: https://gitcode.com/gh_mirrors/ig/ignisIgnis 是一个用 Python 编写和配置的桌面 Shell 控件框架它为 DIY 桌面环境提供了完整的CSS 与 SCSS 样式定制能力。本指南面向新手带你用 CSS 类、内联样式和 SCSS 变量三步打造专属桌面主题并支持保存文件后自动热重载无需重启应用即可看到效果。为什么用 CSS 和 SCSS 定制 Ignis 桌面主题Ignis 基于 GTK 构建天然支持 CSS 样式同时内置了专门的样式管理器CssManager源码见ignis/css_manager.py帮你搞定三件繁琐的事一键应用CSS 文件或字符串自动热重载修改.css/.scss文件后立即生效SCSS 编译内置utils.sass_compile()源码见ignis/utils/sass.py自动检测系统中已安装的sass或grass编译器。官方文档中完整的样式章节位于 docs/user/styling.rst官方示例栏的完整主题源码在 examples/bar/style.scss。快速上手3步应用你的第一个 CSS 主题第一步准备 style.css在你的配置目录默认~/.config/ignis/旁新建style.css写入任意标准 CSS.my-label { background-color: red; }第二步在 config.py 中应用 CSS在配置文件中用CssManager应用这份样式来自官方示例 examples/bar/config.pyimport os from ignis import utils from ignis.css_manager import CssManager, CssInfoPath css_manager CssManager.get_default() css_manager.apply_css( CssInfoPath( namemain, pathos.path.join(utils.get_current_dir(), style.css), ) )第三步保存即生效CssInfoPath默认开启autoreload并监听整个目录——只要目录内任何.css/.scss/.sass文件被修改样式会自动重新加载这是 Ignis 样式定制最爽的地方。SCSS 进阶用变量和嵌套打造主题配色纯 CSS 写主题配色容易重复SCSS 则允许你定义颜色变量、使用嵌套和lighten()/mix()等函数。只需在应用 CSS 时加一行compiler_functioncss_manager.apply_css( CssInfoPath( namemain, pathos.path.join(utils.get_current_dir(), style.scss), compiler_functionlambda path: utils.sass_compile(pathpath), ) )官方示例栏的 SCSS 主题就是一个好范本examples/bar/style.scss$bg: #1a1112; $active: #ffb2bc; .bar { padding: 0.4rem 1rem; background-color: $bg; } .workspace { border-radius: 1rem; transition: 0.3s; :hover { background-color: lighten($bg, 10%); } .active { background-color: $active; color: $bg; } } 注意SCSS 编译需要系统安装 Dart Sass 或 Grass 编译器安装缺失时 Ignis 会抛出SassNotFoundError。给控件添加 CSS 类任何 Ignis 控件都能通过css_classes参数或add_css_class()方法挂上样式类之后即可在 CSS 中精准命中from ignis import widgets widgets.Label(labelhello, css_classes[my-label])官方示例栏里工作区按钮就是靠.workspace和.active两个类实现悬停高亮 选中变色的效果的。内联 style 属性与样式优先级不想建类时控件还支持直接内联样式等价于 Web 里的style属性widgets.Label(labelhello, stylebackground-color: black;)此外 Ignis 提供了 5 档样式优先级application默认 /user等控制你的样式与系统 GTK 全局主题~/.config/gtk-4.0/gtk.css谁说了算想覆盖系统主题priorityuser想跟随系统主题保持默认的application。该属性也可以全局设置css_manager.widgets_style_priority建议在初始化控件前统一配置。常见问题速查表现象原因与解决报SassNotFoundError未安装 Sass 编译器请安装 Dart Sass 或 Grass修改 CSS 不生效确认使用的是CssInfoPath默认自动重载字符串源不会热重载样式被系统主题压过将priority改为user报CssParsingErrorCSS 语法写错按报错提示定位具体区块掌握CssManager、css_classes和内联style这三个核心入口配合 SCSS 变量你就能把 Ignis 桌面 Shell 打造成独一无二的专属主题了。更多控件用法可参阅官方文档 docs/user/first_widgets.rst。【免费下载链接】ignisA widget framework for building desktop shells, written and configurable in Python项目地址: https://gitcode.com/gh_mirrors/ig/ignis创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表