fluid 全屏背景图随日夜模式切换和正文底页毛玻璃效果
实现背景图全屏效果
设置背景图为全屏效果,可以使用 fluid 提供的注入代码功能,可以将代码无侵入式加入到主题里。
在根目录下新建一个 scripts 目录,在目录内新建:injector.js
名字其实可以随意。
该文件不需要在_config.fluid.yml
中进行引用,hexo 自动执行调用里面的 js 文件
其实到这一步就可以了,因为我们其实一般会在_config.fluid.yml
中自己指定背景图。但如果你想实现点击日夜模式切换按钮背景图也跟着切换的话,还需要写一个自定义 js 文件。
实现背景图切换效果
在 source/js
目录中新建背景修改 backgroundize.js
文件,我的代码文件如下:backgroundize.js
该代码文件还需要结合一个自定义的 css 文件使用(稍后解释用途):source/css/backgroundize.css
你只需要将 --mobile-bg-image
等 url
链接替换成你需要的即可。
别忘记在_config.fluid.yml
文件中的 custom_js
和 custom_css
中进行引用
例如:
为什么要新建一个 css?
主要是为了更好的实现图片切换效果。
如果直接在 js 文件中进行背景图的替换操作,实际上是发出了图片请求,这样一来你的图片切换效果全看网络情况,体验是比较不好的(这样也会造成闪屏效果,晚上很刺眼)。而通过 css 变量的方式,所操作的只是变量的切换,不需要重新设置背景图。
另一个可能的思路是使用预加载,但我对现在的方式比较满意,也就没有去探究。
毛玻璃底页效果
修改_config.fluid.yml
文件的主面板背景色
source/css
目录下新建 glassBg.css
文件
侧边的目录区域毛玻璃效果如果不需要可以删除。
一些好用的插件
Hexo 官方推荐插件就足够:https://fluid-dev.github.io/hexo-fluid-docs/advance/#hexo - 插件