Jekyll CSS未更新问题求助:自定义主题样式无效
嘿,我来帮你捋捋可能的问题——我当初搭第一个Jekyll博客时,也在自定义CSS上栽过好几次坑!
先检查style.scss的开头格式
你的/assets/css/style.scss顶部必须有Jekyll的YAML头信息,还要正确导入主题基础样式,比如用Minima主题的话,文件开头得是这样:--- --- @import "{{ site.theme }}";那两行
---可不能少,没有它Jekyll不会把这个文件当成可编译的模板,只会原样输出,自然不会生效。强制刷新浏览器缓存试试
浏览器太爱缓存旧CSS了!有时候你明明改了代码,但浏览器还在加载之前的版本。试试按Ctrl + Shift + R(Windows/Linux)或者Cmd + Shift + R(Mac)强制刷新,或者打开浏览器开发者工具的网络面板,勾选“禁用缓存”再刷新页面。确认Jekyll服务的启动参数
如果你用jekyll serve启动服务,记得加--livereload参数吗?这个参数能让Jekyll监测到文件修改后自动重建并刷新页面,不然你改了文件,Jekyll可能没重新生成静态文件,页面当然不会变。另外要确保你是在项目根目录下运行命令哦。检查CSS文件的引用路径
去你网站的头部代码里看看,CSS的引用路径是不是正确指向了编译后的style.css(Jekyll会把scss自动编译成css)。正常应该是类似这样的代码:<link rel="stylesheet" href="{{ "/assets/css/style.css" | relative_url }}">路径写错的话,浏览器根本找不到你的自定义样式。
排查样式优先级冲突
有时候你的自定义样式会被主题的默认样式覆盖。打开浏览器开发者工具,选中你要修改的元素,看看你的自定义CSS是不是被划掉了(这表示优先级不够)。这种情况可以用更具体的选择器,比如给元素加个类再写样式,实在不行再用!important(不过尽量少用,优先优化选择器结构)。确认主题的自定义规则
有些第三方主题有自己的自定义样式要求,比如让你把自定义代码放在_sass/custom.scss里,而不是直接在assets下创建style.scss。你可以翻翻主题的README文档,看看有没有专门的自定义样式说明。
内容的提问来源于stack exchange,提问作者Sooraj

