在探索 Web 开发领域时,可能会遇到基于数据库中存储的数据动态生成 CSS 内容的需要。这个问题源于这样一个场景,作者试图将 PHP 代码合并到 CSS 中来实现这一目标。
作者提供了一个代码片段来演示他们的方法:
<code class="html"><link href="css/<? echo $theme; ?>/styles.css" rel="stylesheet" type="text/css" /> body { background-image:url(../../images/<?php echo $theme.'/'.$background; ?>);}</code>
然而,他们最初尝试使用内容类型标头并没有成功,导致输出的是 HTML 代码而不是所需的 CSS。
要解决此问题,解决方案是将文件扩展名修改为 .php以便服务器识别并执行PHP代码。 CSS 文件将变成:
<code class="php"><? header("Content-type: text/css"); ?> body { background-image:url(../../images/<?php echo $theme.'/'.$background; ?>);}</code>
此外,可以通过利用 PHP 短标签稍微简化代码,如答案中所建议的:
<code class="php"><? header("Content-type: text/css"); ?> body { background-image:url(../../images/<?= $theme.'/'.$background; ?>);}</code>
通过链接到此 PHP 文件就像常规 CSS 文件一样,Web 服务器将处理 PHP 代码并根据从数据库检索的数据动态生成 CSS 内容。
以上是PHP 可以在 CSS 中执行以生成动态样式吗?的详细内容。更多信息请关注PHP中文网其他相关文章!