根据if / else语句设置body的背景颜色

时间:2013-01-04 23:18:39

标签: php css

我不知道这是否可行,但我想知道是否可以根据if / else语句设置页面的背景颜色?

我想要的是,如果满足if语句,那么我希望body的背景颜色为白色,如果else语句在包含div的地方被满足,那么我希望body的背景颜色为是灰色的。

可以这样做吗?

      <?php

if (page()){

//all the code in the page

}else{
?>

<div class="boxed">


</div>

<?php   

}

?>

更新:

<?php

        if (page()){
?>

    <body class="bodypage <?php echo page()? "color1":"color2" ?>" >

    </body>

<?php

    }else{

    <div class="boxed">
    <a href="<?php echo $pages[$currentPages+1] ?>">Continue with Current Assessment</a>
    </div>

    }

?>

6 个答案:

答案 0 :(得分:1)

是的,它可以。如何使用具有所需背景颜色的预定义类:

.color1 {
   background-color:red;
}
.color2 {
   background-color:yellow;
}

<body class="boxed <?php echo page()? "color1":"color2" ?>" >

</body>

更新

<body class="bodypage <?php echo page()? "color1":"color2" ?>" >
<?php if (page()){?>
... all the page code
<?php else {?>
<div class="boxed">
   <a href="<?php echo $pages[$currentPages+1] ?>">Continue with Current Assessment</a>
</div>
?>

答案 1 :(得分:0)

有很多方法可以做到这一点。

PHP:

$bodyClass = $condition ? 'foo' : 'bar';
...
echo <<< END_HTML
    <body class="$bodyClass">
       <!-- stuff here -->
    </body>
END_HTML;

CSS:

body.foo { background-color:#fff; }
body.bar { background-color:#888; }

..是一种方法。

干杯

答案 2 :(得分:0)

试试这个

<body <?php if(true) {echo('style="background:red"'); } else { echo('style="background:white"'); } ?> >

</body>

答案 3 :(得分:0)

您可以使用javascript&amp; amp; jQuery的:

<script>
$(document).ready(function(condition){
  if (cond) {
    $(body).css("background-color","red");
  } else {
    $(body).css("background-color","blue");
  }
});
</script>

或者在php中你可以通过一些更改来回显代码。

答案 4 :(得分:0)

尽量减少php对您设计的影响。 (用于设计的CSS,用于语义的html,用于结构的php和用于交互的javascript)

为此,我建议向浏览器发送包含值的隐藏输入:

if(statement) {
  $color = '#ffffff';
} else {
  $color = '#ff0000';
}

echo '<input id="pageColor" type="hidden" value="'.$color.'" />';

现在使用(例如)jquery:

执行以下操作
$(document).ready(function() {
  //change bg color based on input value
  $('body').css('background-color', $('#pageColor').val());
});

答案 5 :(得分:0)

是的,你可以这样做。

最优雅的方式之一:

PHP部分:

<?php
$style = 'background:'; # property
$given = page() ? 'red;' : 'black;'; # Ternary operator
$style .= $given; # Concatenate two strings
?>

HTML部分:

<div class="boxed" style='<?php echo $style; ?>'></div>

您还可以使用预定义的各种CSS属性创建特殊的CSS类:

PHP部分:

<?php
$class = page() ? 'first' : 'second'; # CSS classes defined in your stylesheet.
?>

HTML部分:

<div class="boxed <?php echo $class;?>"></div>

你走了。这只是一个快速演示,你可以用你的参数替换它。