如何根据CSS更改屏幕的背景,以及屏幕是否包含PHP?

问题描述 投票:0回答:3

希望我能解释一下我想做什么。我的网站是用PHP构建的,其中包含从mySQL数据库创建的页面。在这种情况下,我想根据文件夹中是否有与页面ID(project_id)相匹配的图像来更改项目页面的正文背景。以下代码可以很好地完成此任务:

 <body style="background: url(<?php 

 $background = dirname(__FILE__) . "/ $myMedia images/bg/ $row[project_id].jpg";
 $background = str_replace(" ", "", $background);

 if (file_exists($background)) {
     echo "images/bg/$row[project_id].jpg";
 } else {
     echo "images/bg.jpg";
 }

?>) repeat-x;" />

但是,如果屏幕尺寸大于767像素,我只想更改页面的背景,否则,我想为手机视图显示不同的背景(bg-mob-380.jpg)。我已经尝试了以下代码,但是它不起作用,而且我不确定自己在做什么错。

 <body style="
@media only screen and (max-width: 767px) {
    background: #FFFFFF url(images/bg-mob-380.jpg) repeat-x;
}
@media only screen and (min-width: 768px) {
 background: url(<?php 

 $background = dirname(__FILE__) . "/ $myMedia images/bg/ $row[project_id].jpg";
 $background = str_replace(" ", "", $background);

 if (file_exists($background)) {
     echo "images/bg/$row[project_id].jpg";
 } else {
     echo "images/bg.jpg";
 }

?>) repeat-x;
}
" />

任何帮助将不胜感激。在此先感谢:)

php html css media-queries background-image
3个回答
0
投票

您可以通过一种更易于阅读的方式来组织它:


0
投票

图片的网址应使用单引号/双引号:


0
投票

已设法解决。我认为,因为我还有另一个链接到页面的样式表,所以我不得不将代码放在该链接之后,以便覆盖CSS文件。这是可以帮助任何人的代码(感谢亚当重写它,因此更易于阅读)

© www.soinside.com 2019 - 2024. All rights reserved.