通过混合PHP/CSS实现可变背景

通过混合PHP/CSS实现可变背景,php,css,Php,Css,我正在为我的“实习”做一个非常简单的页面。我不能说太多细节,但我可以说它涉及羊、激光和你想要的一切。不管怎样,我正试图得到它,这样背景会根据太阳是否出来而变化。我有一个功能可以正常工作,以确定是否是白天,但我不能让它显示图像 我以前从未使用过CSS,更不用说将其与PHP混合使用了,所以我很确定问题在于这里的代码块: <style type="text/css"> body { background-image: url( <?php if( day()

我正在为我的“实习”做一个非常简单的页面。我不能说太多细节,但我可以说它涉及羊、激光和你想要的一切。不管怎样,我正试图得到它,这样背景会根据太阳是否出来而变化。我有一个功能可以正常工作,以确定是否是白天,但我不能让它显示图像

我以前从未使用过CSS,更不用说将其与PHP混合使用了,所以我很确定问题在于这里的代码块:

<style type="text/css">
  body
  {
    background-image: url(
    <?php if( day() == 1 ) { ?> 'day_sheep.jpg'); <?php }
          else             { ?> 'night_sheep.jpg)'; <?php } ?>
    background-position: 50% 50%;
    background-repeat: no-repeat;
  }
</style>

身体
{
背景图片:url(
“day_sheep.jpg”);“night_sheep.jpg”);
背景位置:50%50%;
背景重复:无重复;
}

我想你需要这样的东西:

<style type="text/css">
  body
  {
    background-image: url('
    <?php 
    if( day() == 1 ) {
        echo "day_sheep.jpg";
    } else {
        echo "night_sheep.jpg";
    }?>');
    background-position: 50% 50%;
    background-repeat: no-repeat;
  }
</style>

身体
{
背景图像:url('
');
背景位置:50%50%;
背景重复:无重复;
}
或者,您可以通过执行类似的操作将其精简:

<style type="text/css">
  body
  {
    background-image: url('<?php echo (day() == 1 ? "day_sheep.jpg" : "night_sheep.jpg"); ?>');
    background-position: 50% 50%;
    background-repeat: no-repeat;
  }
</style>

身体
{
背景图像:url(“”);
背景位置:50%50%;
背景重复:无重复;
}

我想你需要这样的东西:

<style type="text/css">
  body
  {
    background-image: url('
    <?php 
    if( day() == 1 ) {
        echo "day_sheep.jpg";
    } else {
        echo "night_sheep.jpg";
    }?>');
    background-position: 50% 50%;
    background-repeat: no-repeat;
  }
</style>

身体
{
背景图像:url('
');
背景位置:50%50%;
背景重复:无重复;
}
或者,您可以通过执行类似的操作将其精简:

<style type="text/css">
  body
  {
    background-image: url('<?php echo (day() == 1 ? "day_sheep.jpg" : "night_sheep.jpg"); ?>');
    background-position: 50% 50%;
    background-repeat: no-repeat;
  }
</style>

身体
{
背景图像:url(“”);
背景位置:50%50%;
背景重复:无重复;
}

没有
在背景图像属性之后,并且'day\u sheep.jpg')必须是
'day\u sheep.jpg')
代码:


身体
{
背景图片:url('day_sheep.jpg''night_sheep.jpg');
背景位置:50%50%;
背景重复:无重复;
}

没有
在背景图像属性之后,并且'day\u sheep.jpg')必须是
'day\u sheep.jpg')
代码:


身体
{
背景图片:url('day_sheep.jpg''night_sheep.jpg');
背景位置:50%50%;
背景重复:无重复;
}
您也可以这样做(我认为这样更好)

编辑:

如果day函数中的day被特别设置为“1”,这将是一个不错的选择,但是如果您只想捕获任何“true”值,您也可以在body标记的“class”属性中使用它:

<?php echo (day()) ? "day" : "night"; ?>

您也可以这样做(我认为这样更好)

编辑:

如果day函数中的day被特别设置为“1”,这将是一个不错的选择,但是如果您只想捕获任何“true”值,您也可以在body标记的“class”属性中使用它:

<?php echo (day()) ? "day" : "night"; ?>


-1了解PHP结束标记的工作原理。如果您这样做,您将得到一个类似于以下内容的CSS声明:
背景图像:url('day_sheep.jpg')从PHP中转义否定了分号的需要。因为您已经逃出了,所以您使用的是HTML,分号将简单地打印在屏幕上。-1因为误解了PHP结束标记的工作原理。如果您这样做,您将得到一个类似于以下内容的CSS声明:
背景图像:url('day_sheep.jpg')从PHP中转义否定了分号的需要。因为您已经逃出,所以您使用的是HTML,分号将简单地打印在屏幕上。