Jekyll站点中SCSS修改未生效问题求助
解决Jekyll Minima主题自定义SCSS样式不生效问题
先确认SCSS文件的引入逻辑
Minima默认会加载_sass/minima/custom-styles.scss,但得保证主样式文件assets/css/style.scss里正确引入了Minima的所有样式模块,包括你的自定义文件。打开style.scss检查,内容得包含这些:--- --- @import "minima/initialize"; @import "minima/layout"; @import "minima/custom-styles"; // 这一行必须存在要是你在
_sass/minima/layout.scss里加自定义样式,也要确认这个文件被主样式正确引入了。检查自定义类的优先级
说不定你的样式被Minima默认样式覆盖了,试试给选择器加更高权重:.doc-header { background-color: #f0f0f0 !important; // 先这么测,确认能生效再去掉!important // 其他样式 }或者用更具体的选择器,比如
body .doc-header,提升优先级。验证构建环境和缓存
Github Pages用的是特定版本的Jekyll依赖,别用太新的SCSS语法,避免兼容问题。先本地跑bundle exec jekyll serve测试,本地生效但线上不行的话,去仓库Settings -> Pages里重新触发构建,清一下缓存。核对文件命名和路径
确认_sass/minima/下的文件名没错,比如custom-styles.scss别写成下划线分隔的,而且_sass里的SCSS文件不用加前置内容,只有主样式文件assets/css/style.scss需要顶部的空--- ---。直接在主样式文件加代码测试
要是上面都没用,直接在assets/css/style.scss末尾写自定义样式:--- --- @import "minima/initialize"; @import "minima/layout"; // 直接加在这儿 .doc-header { color: #333; padding: 1rem; } .doc-nav { margin-top: 1rem; }这样能排除子模块引入的问题。
内容的提问来源于stack exchange,提问作者jeremywat
相关产品推荐
相关产品推荐

