如果. .CSS样式表中的else条件语句作为PHP处理


If ... else conditional statements in CSS stylesheet processed as PHP

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

<?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文件中,在标题下面是常规的CSS内容,偶尔有php代码片段,例如

<?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中请求的两个样式规则之一。

谁能告诉我哪里出了问题?谢谢阅读

哎呀…

问题是我的变量$fixed_navigation_Home由控制器文件声明。感谢外星人先生让我注意到这件事。

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

将变量声明为全局变量没有帮助,原因如上所述。对于那些对这个问题感兴趣的人,有其他的页面解释了如何解决"在页面之间传递变量"的问题:

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

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

在多个页面上使用PHP变量

感谢您的回复。

使用

帮助你.......

'

echo "'* {'";

if ($ fixed_navigation_Home = ="没有"){回声"显示:没有,";}

else {echo "'display: block;'";}

回声"}";

?> "