有没有办法PHP可以控制CSS

时间:2012-10-23 04:26:37

标签: php css

1)数据库

2)php

3)css

4)html表格

用户在html表单中输入一些属性,例如background:red,然后将其保存在db中,然后php从db背景css中选择颜色选项...然后如何将php变量放入css中属性...

也有些托管不允许在.htaccess中添加处理程序,还有其他选项吗?

5 个答案:

答案 0 :(得分:4)

是的,有可能。

您可以通过设置内容类型来使用php提供css文件。

<?php header('content-type: text/css; charset=utf-8'); ?>

您将从php文件输出css。

您可以使用表单将值存储在mySQL或其他表中,然后使用mySQLi或其他库检索它们。

这是php脚本的一个例子:

<?
    header('content-type: text/css; charset=utf-8');

    $bgColor = "#FFF"; // Get it from database, I'm setting manually for this example
?>

body{
      background-color:<?php echo "$bgColor" ?>;
}

或者,您可以在页面上输出内联css。直接插入标记或内联元素。

如果由于某种原因真的需要原生css文件(我想不到一个),你可以在技术上用php的fwrite()函数覆盖一个特定的css文件,虽然我不建议这样做。 / p>

 <?php

      $filename = "phpstyle.css";

      $fp = fopen($filename, 'w');

      $bgcolor = "#FFF";

      $css  = "body{";
      $css .= "background-color:".$bgcolor.";"; 
      $css .= "}";           

      fwrite($fp, $css);

      fclose($fp);

 ?>

答案 1 :(得分:1)

是的,你可以通过php脚本提供css。

一种方法是通过php输出样式元素。

<?php
    #css on php file
    $color = '#FFFFFF';
?>
<html>
<head>
    <title>Css through php</title>
    <style>
        .test{
            text-color: <?php echo $color;  ?> 
        }
    </style>
</head>
<body>
<p class="test">Your body </p>
</body>
</html>

另一种方法是在php文件中动态生成css并将其链接到html页面。

<?php
    #css on php file [test_css.php]
    header("Content-type: text/css");
    $color = '#FFFFFF';
?>
.test{
            text-color: <?php echo $color;  ?> 
}

<html>
<!-- test.html -->
<head>
    <title>Css through php</title>
    <link rel="stylesheet" type="text/css" href="test_css.php">
</head>
<body>
<p class="test">Your body </p>
</body>
</html>

答案 2 :(得分:0)

除了Khaleel的回答之外,您还可以将CSS放在HTML文档本身的

<style>
...
</style>

部分。您可以使用PHP变量来填充它。

或者您可以在HTML中使用内联样式

<span style="...">...</span>

答案 3 :(得分:0)

为什么不呢:

<?php if (myCondition) { ?>
<style>.myClass {
background: <?php echo $myColor; ?> !important;
} </style>
<?php } ?>

myCondition触发身体样式的插入。 !important标记会覆盖该属性的所有其他现有值。

易于理解且易于使用。每次都有效。

答案 4 :(得分:-1)

ether动态地使用php创建一个css文件,例如:

<link href="../styles/styles.php" type="text/css" />

或使用php在你的html文件中内联编写css:

<html>
<head>
<style type="text/css">
body {
   background-color: <?php echo $redcolor; ?>;
}
</style>
</head>
<body></body>
</html>

但是,您无法使用php创建标准的css文件。