1)数据库
2)php
3)css
4)html表格
用户在html表单中输入一些属性,例如background:red,然后将其保存在db中,然后php从db背景css中选择颜色选项...然后如何将php变量放入css中属性...
也有些托管不允许在.htaccess中添加处理程序,还有其他选项吗?
答案 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文件。