为Argon主题添加自适应背景图

2022-12-05 15:11:59 浏览数 (1)

废话

我的博客采用的是solstice23大佬的Argon主题,这个主题有一点缺陷,就是不能为手机和电脑单独设置页面的背景图,因为这点小原因,我也不好意思去找原作者。

又由于我本人不会php,我只好尝试在不修改源代码的情况下解决这个问题。首先我在浏览器的开发者工具中查看,我发现背景图相关的代码在这

我通过在元素中搜索现在的背景图地址,发现他位于ID为content之前插入的伪元素下的background属性中。

这样一看就很简单了

思路

我只需要判断是否为手机访问或者是否为电脑访问,然后如果是就替换content::before的背景属性就行了

判断的方法有很多,最好的方法就是判断屏幕的宽带与高度比,如果屏幕的宽度大于屏幕的高度,就返回电脑的图片,如果屏幕的宽度小于屏幕的高度,就返回手机的图片

但是因为我懒

所以我选择媒体查询

我选择更换手机的背景图

我将主题后台设置中的背景图地址先改为电脑的,然后在WordPress的额外css中添加了一段更换背景图的代码,保存后我发现,WordPress的额外css在整个html的上方,优先级没有原来的高,因此更换失败

然后我又在想如何提高优先级

我想到主题设置中有页眉和页脚代码的设置,根本不需要那么麻烦,于是我尝试将这段css插入页脚中,背景图设置成功。

解决方法

先在Argon主题的设置中将背景图的地址设置为电脑端访问看到的图片

然后在Argon主题设置的页脚内容页尾脚本中加入以下代码

代码语言:javascript复制
<style>
@media (max-width: 768px) {
#content:before {
	background: url(图片的URL地址,需带http/https);
}
}
</style>

如图

代码中的max-width: 768px既当宽度小于768px时使用该背景图,可自行修改

测试效果

大屏状态

小屏状态

0 人点赞