废话
我的博客采用的是solstice23大佬的Argon主题,这个主题有一点缺陷,就是不能为手机和电脑单独设置页面的背景图,因为这点小原因,我也不好意思去找原作者。
又由于我本人不会php,我只好尝试在不修改源代码的情况下解决这个问题。首先我在浏览器的开发者工具中查看,我发现背景图相关的代码在这
我通过在元素中搜索现在的背景图地址,发现他位于ID为content
之前插入的伪元素下的background
属性中。
这样一看就很简单了
思路
我只需要判断是否为手机访问或者是否为电脑访问,然后如果是就替换content::before
的背景属性就行了
判断的方法有很多,最好的方法就是判断屏幕的宽带与高度比,如果屏幕的宽度大于屏幕的高度,就返回电脑的图片,如果屏幕的宽度小于屏幕的高度,就返回手机的图片
但是因为我懒
所以我选择媒体查询
我选择更换手机的背景图
我将主题后台设置中的背景图地址先改为电脑的,然后在WordPress的额外css中添加了一段更换背景图的代码,保存后我发现,WordPress的额外css在整个html的上方,优先级没有原来的高,因此更换失败
然后我又在想如何提高优先级
我想到主题设置中有页眉和页脚代码的设置,根本不需要那么麻烦,于是我尝试将这段css插入页脚中,背景图设置成功。
解决方法
先在Argon主题的设置中将背景图的地址设置为电脑端访问看到的图片
然后在Argon主题设置的页脚内容
或页尾脚本
中加入以下代码
<style>
@media (max-width: 768px) {
#content:before {
background: url(图片的URL地址,需带http/https);
}
}
</style>
如图
代码中的max-width: 768px
既当宽度小于768px时使用该背景图,可自行修改
测试效果
大屏状态
小屏状态