如何通过php变量显示css代码?

时间:2016-03-21 19:42:23

标签: php html css

我已经决定将php与我的CSS一起用于更好的管理。我设置它,以便我可以在我的" style.php"中加入变量。文件并将它们用于我的css代码。话虽如此,我还希望能够通过echo语句显示这些变量。因此,在我的主索引中,我希望能够做到" echo $ body;"这样我才能真正显示css。它不允许我这样做。

这是我的" style.php"文件位于样式文件夹中

<?php
header("Content-type: text/css");

$body = '
background-color:red;<br>
margin:0 auto;<br>
';

?>

body{
    <?php echo $body; ?>
}

这是我的&#34; index.php&#34;文件

<html>
<head>
<link rel="stylesheet" href="styling/style.php" media="screen">
<?php
include 'globals/vars.php';
?>
<title><?php echo $title; ?> - Home</title>
</head>
<body>
</body>
</html>

4 个答案:

答案 0 :(得分:0)

您在CSS中包含HTML标记。 PHP一切正常,但在CSS的每一行末尾都不需要<br>

答案 1 :(得分:0)

您可以通过include将CSS php脚本包含为内联CSS,也可以将变量放在单独的文件中,将它们包含在CSS页面和主页面中。

你无法访问index.php中的$body的原因是因为你的CSS文件中声明了$body,它永远不会包含在你的index.php文件中。相反,您使用HTML引用CSS文件,该文件仅包含该php脚本的输出

或者,您可以查看SASS或其他支持变量和其他功能的CSS预处理器,以便“轻松管理”。

编辑:关于克里斯刚刚提到的内容,如果您的CSS文件中有新行,请使用“\ r \ n”代替<br>

答案 2 :(得分:0)

为什么代码中有class FindCategoryProperty: IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value != null && parameter != null) { var categoryList = (IList<CategoryClass>) value; var categoryStringTuple = (Tuple<categoryID, string>) parameter; var categoryID = categoryStringTuple.Item1; var child = categoryList.FirstOrDefault(c => c.CategoryID == categoryID); if (child != null) { switch (categoryStringTuple.Item2) { case "Property1": return child.getProperty1(); case "Property2": return child.getProperty2(); //etc default: return ""; } } } return ""; } //Left the ConvertBack unimplemented } ,您应该使用换行符<br/>

答案 3 :(得分:0)

Style.php:

<?php
  header("Content-type: text/css");
  include 'globals/vars.php';
?>

body{
  <?php echo $body; ?>
}

的index.php:

<html>
<head>
  <link rel="stylesheet" href="styling/style.php" media="screen">
  <?php
    include 'globals/vars.php';
  ?>
  <title><?php echo $title; ?> - Home</title>
</head>
   <body>
     <?php echo $body; ?>
   </body>
</html>

全局/ vars.php:

$body = '
background-color:red;
margin:0 auto;
';

这应该有效,因为您现在在使用它的同一范围内声明变量$body