我想更改网页的配色方案...所以我在我的网站中提供了颜色选择器和其他工具,并将这些颜色值存储在 MySql 数据库中..
但我不知道如何将这些样式值从 mysql 数据库应用到 css 或 html 文件..
例如:
user-1 存储在数据库中的颜色值是:#ffffff,user-2 的另一个值是:#000000
每次用户登录时,我如何才能将这些值应用到 css 中。即,当用户 1 登录时,我希望正文背景为 #ffffff 而对于 iser-2,我希望它为 #000000
有多种方法可以做到这一点。1. 将您的 CSS 转换为 PHP,即生成 CSS,但一切都可以是动态的 - 可能对于一些颜色来说有点矫枉过正 2. 覆盖样式表中的样式
最简单的方法(可能不是最好的方法)是第 2 种方法,在样式表之后用新颜色覆盖样式。
即(须藤代码)
<html><head>
....
<style ... src="..." />
<style>
// from db
#custom { background: #<?php echo $colour; ?> }
</style>
ETC
最好使用 JavaScript 更改 PHP 标记之间的样式。
例如:
if($response){
echo "<script>
$('#matter_table').css('display', 'block');
</script>";
}
else{
echo "<script>
$('#matter_table').css('display', 'none');
</script>";
}
您可以通过以下步骤实现此目的:
如果用户更改一种样式,则使您的网站模板灵活,它应该反映所有主题。
当用户登录时,您可以从 db 获取该用户主题颜色,您可以将其存储在会话或任何其他可能的方式中。
e.g : $themecolor = '#000000';
将该主题颜色传递给正文背景内联样式
e.g : style = "background-color : <?php echo $themecolor; ?>"
我使用这个技巧:
我创建了一个 dynamicss.php 文件并在其中使用:
$color = '#6b82a2';
$css = <<<HERE
body{
font-family:Arial, Helvetica, sans-serif;
background-color : $color ;
background-image: url("../img/texture.png");
}
HERE;
$bytes = file_put_contents('css/mainCss.css',$css);
您可以加载您的变量,然后在 hereDoc 中使用。