我将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;'";}
回声"}";
?> "