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


How do I display css code through php variables?

我决定在我的css中使用php来更好地管理。我已经设置了它,以便我可以将变量合并到我的"style.php"文件中并将它们用于我的 css 代码。话虽如此,我还希望能够通过 echo 语句显示这些变量。所以在我的主索引中,我希望几乎能够做"echo $body",这样我就可以实际显示 css。它不允许我这样做。

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

<?php
header("Content-type: text/css");
$body = '
background-color:red;<br>
margin:0 auto;<br>
';
?>
body{
    <?php echo $body; ?>
}

这是我的"索引.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>
</body>
</html>

你在 CSS 中包含 HTML 标签。PHP都运行良好,但是您不需要在每行CSS的末尾都<br>

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

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

或者,您可以查看 SASS 或其他 CSS 预处理器,它支持变量和其他功能以实现"轻松管理"。

编辑:关于克里斯刚刚提到的,如果你想要的是CSS文件中的新行,只需使用"''r'"而不是<br>

为什么你的代码中有<br/>,你应该改用换行符'n

style.php:

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

索引.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>

全局/变量.php:

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

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