【问题标题】:Change background color of a PHP include on different pages?更改 PHP 包含在不同页面上的背景颜色?
【发布时间】:2015-02-13 13:13:00
【问题描述】:

我们正在为一个学校项目制作一个网站,并帮助一些(简单的)PHP。

我们有一个有 4 个页面的网站,我们使用包含标题/导航。但是我们希望我们的页面有不同的背景颜色,但是如果我们改变颜色,所有网站的颜色都会改变,因为我们使用了包含。

这是一个页面示例:

<?php   
        $pagetitle = "Forside";
        require_once("includes/header.inc.php");
?>

###SOME CONTENT FOR THIS PAGE###

<?php   
        require_once("includes/footer.inc.php");
?>

我们想改变“includes/header.inc.php”中

标签的颜色

但正如我所说,如果我们更改该颜色,那么我们使用标题包含的所有页面上的颜色都会更改。

是否可以用一些 PHP 来改变它?

我们的导航非常简单,可以在这里看到:

<nav id="menu">
        <a href="./index.php"><img class="navigation" src="./img/forside-billede.png" /></a>
        <a href="./gaestebog.php"><img class="navigation" src="./img/gaestebog-billede.png" /></a>
        <a href="./citater.php"><img class="navigation" src="./img/citater-billede.png" /></a>
        <a href="./koncept.php"><img class="navigation" src="./img/koncept-billede.png" /></a>
    </nav>

如果您需要更多信息以帮助我们或者您不了解我们的问题,请写信。提前致谢!

【问题讨论】:

  • 因为你是在设置页面标题,所以使用 if 语句来查看你所在的页面,并相应地更改 css。

标签: php css colors


【解决方案1】:

您可以在包含标题之前为每个 PHP 文件设置颜色。然后您可以在 header.inc.php 中的 css 中使用该 PHP 变量

<?php   
        $pagetitle = "Forside";
        $bodyColor = "#ff0000";
        require_once("includes/header.inc.php");
?>

###SOME CONTENT FOR THIS PAGE###

<?php   
        require_once("includes/footer.inc.php");
?>

如果 css 在你的 header 标签之间,你可以在你的 css 中做这样的事情:

....
....
body {
    background:<?=$bodyColor;?>;
}
....
....

如果不是,您可以使用style 属性,例如:

....
....
<body style="background:<?=$bodyColor;?>;">
....
....

【讨论】:

    【解决方案2】:

    您可以使用标签更改每个页面的 HTML 代码中的背景颜色:

    <style  type="text/css">
        body{ background-color: #ccc;}
    </style>
    

    【讨论】:

      【解决方案3】:
      <?php
      $path_parts = pathinfo(__FILE__);
      $page = $path_parts['filename'];// Get the page name
      $page = ! empty($page) ? $page : 'index'; // if no page name, set it to `index`
      $backgrounds = array(); // define array of background colors.
      $backgrounds['index'] = 'BACKGROUND COLOR FOR THIS PAGE'; //assign colors for pages.
      $backgrounds['gaestebog'] = 'BACKGROUND COLOR FOR THIS PAGE';
      $backgrounds['citater'] = 'BACKGROUND COLOR FOR THIS PAGE';
      $backgrounds['koncept'] = 'BACKGROUND COLOR FOR THIS PAGE';
      $background = ! empty($backgrounds[$page]) ? $backgrounds[$page] : ''; // get respective color for the page.
      ?>
      

      header.inc.php

      <body style="background-color:<?php echo $background?>">
      

      【讨论】:

      • 谢谢,我已经尝试使用您的代码,但它不起作用。我知道 应该在我们的 header.inc.php 中,但是我们应该把大块代码放在哪里呢?就在 header.inc.php 中的 body 标记之前?
      • 是的,这就是确切的位置。
      • 嗨,我们成功了,非常感谢您抽出宝贵的时间!祝你有美好的一天!
      猜你喜欢
      • 1970-01-01
      • 2013-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-13
      • 2021-09-25
      • 1970-01-01
      相关资源
      最近更新 更多