[英]how to change CSS styles dynamically using php/Mysql..i want to create themes that are unique to each user?
我想更改網頁的配色方案...所以我在我的網站中提供了顏色選擇器和其他工具,並將這些顏色值存儲在MySql數據庫中。
但是我不知道如何將這些樣式值從mysql數據庫應用到css或html文件。
例如:
用戶1存儲在數據庫中的顏色值是:#ffffff,用戶2存儲的其他值是:#000000
每當用戶登錄時,我如何才能將這些值應用到CSS中?即,當用戶1登錄時,我希望主體背景為#ffffff,對於iser-2,我希望其為#000000
有多種方法可以完成此操作。 1.將您的CSS轉換為PHP,即生成CSS,但是所有內容都是動態的-可能對幾種顏色有些過分了2.覆蓋樣式表中的樣式
最簡單的方法(也許不是最好的方法)是數字2,在樣式表之后用新顏色覆蓋樣式。
即(sudo代碼)
<html><head>
....
<style ... src="..." />
<style>
// from db
#custom { background: #<?php echo $colour; ?> }
</style>
等等
最好使用JavaScript更改PHP標記之間的樣式。
例如:
if($response){
echo "<script>
$('#matter_table').css('display', 'block');
</script>";
}
else{
echo "<script>
$('#matter_table').css('display', 'none');
</script>";
}
您可以通過執行以下步驟來實現:
如果用戶更改一種樣式,使其可以反映所有主題,則使您的網站模板靈活。
用戶登錄后,您可以從db獲取該用戶主題顏色,並且可以將其存儲在會話中或任何其他可能的方式。
eg : $themecolor = '#000000';
將該主題顏色傳遞給主體背景內聯樣式
eg : 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中使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.