【发布时间】:2011-03-29 19:59:54
【问题描述】:
我想通过 php 包含我的 css/样式表,以便...
<link rel="stylesheet" href="http://www.mydomain.com/css/style.php">
这样我就可以动态更改不同的样式表......我该怎么做
【问题讨论】:
我想通过 php 包含我的 css/样式表,以便...
<link rel="stylesheet" href="http://www.mydomain.com/css/style.php">
这样我就可以动态更改不同的样式表......我该怎么做
【问题讨论】:
只要您将style.php 中的 MIME 类型设置为 CSS,您就可以正常工作了。将此添加到最顶部:
<?php Header ("Content-type: text/css; charset=utf-8");?>
如果您在 Apache 服务器上运行,另一个选择是告诉它检查 .css 文件中的 PHP。将此添加到您的 .htaccess 文件中以执行此操作:
AddType application/x-httpd-php .css
然后你可以简单地包含一个常规的 .css 文件:
<link rel="stylesheet" href="http://www.mydomain.com/css/style.css">
【讨论】:
style.php 中设置正确的 MIME 类型应该允许您的原始代码示例工作。我已经用 Gumbo 的同时设置字符集的建议更新了我的第一个示例。
你可以在你的 html 头部添加这个 php 代码,但是文件应该是 .php。
例如:index.php
<html>
<head>
<?php
$cssFile = "style.css";
echo "<link rel='stylesheet' href='" . $cssFile . "'>";
?>
</head>
<body>
...
...
</body>
</html>
您可以使用不同的条件将任何 css 文件路径存储在 $cssFile 变量中。
【讨论】:
在 style.php 中:
echo file_get_contents('style.css');
这只会输出style.css的内容。
【讨论】:
动态改变页面样式的另一种变体:
<link rel="stylesheet" href="css/<?php echo $user['style']; ?>.css">
【讨论】:
你为什么不反过来做,只是在你的 php 中包含一个不同的 css 文件?
print "<link rel='stylesheet' href='$path_to_css_file'>";
【讨论】:
您可以直接将 CSS 包含到 HTML 文件中:
<style type="text/css">
<?php include 'stylesheet.php'; ?>
</style>
【讨论】:
他们所质疑的答案似乎有所不同...... 如果您想在 CSS 映射中添加所有 CSS 文件,并且不必担心每当 css 文件名更改或添加另一个 css 文件名时更改代码,请使用:
<?php
foreach(glob("CSS/*.css") as $css_file)
{
echo '<link rel="stylesheet" href="'.$css_file.'" type="text/css" medial="all" />';
}
?>
【讨论】: