1

通过在我的 CSS 文件顶部包含以下内容,我将 CSS 样式表作为 PHP 处理:

<?php
    header("Content-type: text/css; charset: UTF-8");
?>

我的 CSS 样式表 (style.css) 是这样调用的:

<style type="text/css">@import url("style.css") only screen and (min-device-width: 321px), only print;</style>

我通过以下方式更改了我的 Apache 配置文件,以使 PHP 引擎能够处理 CSS 文件:

<FilesMatch "^.*?common.*?$">
SetHandler php5-script
</FilesMatch>

在我的 CSS 文件中,标题下方是带有偶尔 php 片段的常规 CSS 内容,例如

...

<?php echo "* {margin: 10px; padding: 10px;}"; ?>

html
{
    background-color: #FFF;
    overflow-y: scroll;
}

以上工作正常,但是如果我尝试包含一个 php 条件语句,我会遇到问题。例如,以下内容:

<?php
echo "* {";
if ($fixed_navigation_Home == "none") {echo "display: none;";}
else {echo "display: block;";}
echo "}";
?>

...仅产生:

* {
}

...而不是 PHP 中请求的两种样式规则之一。

有人能告诉我可能出了什么问题吗?谢谢阅读。

4

2 回答 2

1

哎呀...

问题是我的变量 $fixed_navigation_Home 由控制器文件声明。感谢 Alien 先生引起我的注意。

我现在意识到,问题在于网页是无状态的:一旦 PHP 处理器处理完,页面变量就会被销毁。因此,我的变量没有被“记住”,因为样式表是在页面生成后由浏览器调用的。

由于上面给出的原因,将变量声明为全局变量并没有帮助。对于那些对此问题感兴趣的人,还有其他页面解释了如何解决“页面之间的传递变量”问题:

https://stackoverflow.com/questions/9726352/using-php-variables-across-different-files

在网站/应用程序的所有文件中共享一个 PHP 文件中定义的变量的方法有多少?

在多个页面上使用 PHP 变量

感谢您的回复。

于 2013-06-12T12:29:16.797 回答
0

用这个

帮助你.......

`

回声“'* {'”;

if ($fixed_navigation_Home == "none") {echo "'display: none;'";}

否则 {echo "'display: block;'";}

回声“'}'”;

?>`

于 2013-06-11T10:20:06.947 回答