php - 我如何使用php生成css?

标签 php css

在这个问题的第一个版本中,我没有提供足够的信息,很抱歉。这是我需要什么帮助的更清晰的版本。您的许多答案已经很接近了,这将有所帮助:

这个问题的更具体的版本:

我决定将 php 与 css 结合使用,以使我的页面比使用 javascript 实现相同结果时的页面更高效。这并不重要。重要的是我尝试执行此操作的两种方法(如教程中所示)是:

添加

AddType application/x-httpd-php .css

到我的.htaccess

然后,当样式表出现在页面的源代码中但对我尝试使用的页面没有影响时

<link rel="stylesheet" href="style.php" media="screen">

按照本教程的建议,将我的样式表链接为 php 文件。 http://www.phpro.org/articles/Embedding-PHP-In-CSS.html

这是我用 php 变量测试的 css:

<?php
/*** set the content type header ***/
header("Content-type: text/css");

/** set the paragraph color ***/
$para_color = '#0000ff';

/*** set the heading size ***/
$heading_size = '2em';

/*** set the heading color ***/
$heading_color = '#c0c0c0';
?>

p{
    color: <?php echo $para_color;  ?>;
    font-weight: bold;
    font-size: 1.2em;
    text-align: left;
}       

h1{
    color: <?php echo $heading_color; ?>;
    font-size = <?php echo $heading_size; ?>;
    text-align: centre;
}

这两种方法都给了我相同的结果,CSS 完全按照样式表源显示,但没有显示在页面上,除非我在页面的开发工具中更改了样式,之后页面会风格就好了。

问题:为什么会发生这种情况,我该如何解决?

旧版本:

这里的问题很简单:

如何在 CSS 中使用 PHP?

我正在创建一个网站,与使用 javascript 相比,在 CSS 中使用 php 来实现各种期望的结果在时间和处理速度上都更加高效。

有人告诉我这是可以做到的。怎么办?

最佳答案

你的问题措辞不正确,让很多人感到困惑。您想要的是一个可以“生成”CSS 文件的 PHP 文件。所以不要使用 <link>对于 CSS 文件,您将使用它链接到输出 CSS 的 PHP 文件。如图tutorial你发布了。

<?php
/*** set the content type header ***/
header("Content-type: text/css");

/***
query the database for the background color
provided you have a valid MySQL connection or whatever you are using.
***/
$background_color = mysqli_query($dbc, "SELECT `background_color` FROM user_settings WHERE user_id = 1");

/** set the paragraph color ***/
$para_color = '#0000ff';

/*** set the heading size ***/
$heading_size = '2em';

/*** set the heading color ***/
$heading_color = '#c0c0c0';
?>

html{
    background: <?php echo $background_color; ?>
}

p{
        color: <?php echo $para_color;  ?>;
        font-weight: bold;
        font-size: 1.2em;
        text-align: left;
}       

h1{
        color: <?php echo $heading_color; ?>;
        font-size = <?php echo $heading_size; ?>;
        text-align: centre;
}

现在在您的 PHP 文件中,您将使用类似这样的内容。

<link rel="stylesheet" href="style.php" media="screen">

编辑: 添加了关于如何检索用户首选项的假设 MySQL 查询。由于问题含糊不清,无法彻底。

关于php - 我如何使用php生成css?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19474340/

相关文章:

css - 2 个背景拉伸(stretch) 1 个背景

php - Mysql 搜索查询

php - 我想要以下结果 : $name = 'Doron' ; $email = 'doron@myemail.com' ; $phone = '0501234567' ;

php - 将 mysql_connect 更改为 mysqli 导致功能失败

css - SVG 溢出 :hidden by bootstrap. 为什么?

css - 具有默认样式的媒体查询无法按预期工作

html - 如何重置输入的默认样式 [type ="text"] :focus in Chrome and Safari?

css - nuxt 样式不会应用于生产模式

php - 登录页面传递 $_SESSION

javascript - CKEditor + CKFinder 图片上传