2

我想更改网页的配色方案...所以我在我的网站中提供了颜色选择器和其他工具,并将这些颜色值存储在 MySql 数据库中..

但我不知道如何将这些样式值从 mysql 数据库应用到 css 或 html 文件..

例如:

user-1 存储在数据库中的颜色值是:#ffffff,user-2 的另一个值是:#000000

每次用户登录时,我如何才能将这些值应用到 css 中。即,当用户 1 登录时,我希望正文背景为 #ffffff 而对于 iser-2,我希望它为 #000000

4

4 回答 4

2

有多种方法可以做到这一点。1. 将您的 CSS 转换为 PHP,即生成 CSS,但一切都可以是动态的 - 可能对于一些颜色来说有点矫枉过正 2. 覆盖样式表中的样式

最简单的方法(可能不是最好的方法)是第 2 种方法,在样式表之后用新颜色覆盖样式。

即(须藤代码)

<html><head>
....
<style ... src="..." />
<style>
// from db
#custom { background: #<?php echo $colour; ?> }
</style>

ETC

于 2013-05-01T04:49:01.223 回答
1

最好使用 JavaScript 更改 PHP 标记之间的样式。

例如:

if($response){

    echo "<script>
        $('#matter_table').css('display', 'block');
    </script>";
}
else{

    echo "<script>
        $('#matter_table').css('display', 'none');
    </script>";
}
于 2015-08-18T07:55:07.633 回答
0

您可以通过以下步骤实现此目的:

  1. 如果用户更改一种样式,则使您的网站模板灵活,它应该反映所有主题。

  2. 当用户登录时,您可以从 db 获取该用户主题颜色,您可以将其存储在会话或任何其他可能的方式中。

    e.g : $themecolor = '#000000';
    
  3. 将该主题颜色传递给正文背景内联样式

    e.g : style = "background-color : <?php echo $themecolor; ?>"
    
于 2013-05-01T04:51:09.420 回答
0

我使用这个技巧:

我创建了一个 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 中使用。

于 2015-01-22T18:57:24.817 回答