【发布时间】:2015-09-21 17:25:43
【问题描述】:
我有一个名为 test.css 的 css 文件,我想在其中使用 $var。$var 位于 test.php。 test.css 附在 test.php 中。我的结构是这样的:
//test.php
<html>
<head>
<?php $var = 'anything';?>
<link href="test.css" rel="stylesheet" type="text/css" />
</head>
<body></body>
</html>
这是 test.css:
// test.css
.<?php echo $var> { // css property }
目前test.css 不起作用。事实上,我想知道如何将 php 变量用作 css 文件中的类名?
【问题讨论】:
-
如所写,不可能。 css 不是作为 php 脚本执行的,因此 css 中的任何 php 代码都会发送到客户端并被视为 css 语法错误。您可以让它在服务器上作为 php 执行,但随后它将与生成
<link>标记的脚本完全分开执行,并且$var将在 css 中未定义。 -
我还为您添加了另一个解决方案。如果您认为这是答案,请为新来者改变您的决定。
-
@MarcB 当我将
.css文件放在头部时,它将缓存在用户浏览器中。但是当我在head和<style>和</style>之间写我的 css 属性时会发生什么?每个请求会发生什么?优化了吗? -
那么您在每个页面上发送相同的 css sn-p 会浪费一点带宽。它会作为页面的一部分被缓存,但由于它在所有页面上都重复,因此会被缓存多次。
-
@MarcB 看,为了防止在 html 页面中解析我的数据,我为我的元素使用动态类名称,并使用 php 创建这些名称,现在在您看来,这是个坏主意吗?