0

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

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

这可以做到吗?

      <?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>

    }

?>
4

6 回答 6

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>
?>
于 2013-01-04T23:22:39.723 回答
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());
});
于 2013-01-04T23:27:45.500 回答
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>

给你。这只是一个快速演示,您可以将其替换为您的参数。

于 2013-01-04T23:31:13.063 回答
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; }

..是一种方法。

干杯

于 2013-01-04T23:22:38.923 回答
0

尝试这个

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

</body>
于 2013-01-04T23:22:50.243 回答
0

您可以使用 javascript 和 jQuery 这样做:

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

或者在 php 中,您可以只回显该代码,并进行一些更改。

于 2013-01-04T23:25:29.020 回答