2014-03-04 559 views
0

我已經創建了網站主題。在這裏,我對添加一個特性感到困惑。那就是我想根據用戶端選擇的顏色值來改變主題背景顏色。例如我們這樣的表:動態更改背景顏色

+------+------------------+---------+ 
| s_no | attribute  | color | 
+------+------------------+---------+ 
| 1 | background-color | #F6F4F0 | 
+------+------------------+---------+ 

現在我想設置CSS屬性這樣

body{ 
    background-color:"color value from table" 
} 

這可能嗎?如果可能的話,請解釋一下。感謝您的提前!

+0

當然有可能,你必須將'.css'文件轉換爲'.php'並從數據庫中提取記錄並相應地放置它。 –

+0

看看這篇文章,它是相同的過程: http://stackoverflow.com/questions/22148557/be-able-to-change-the-colour-of-seperate-divs-by-clicking-on-按鈕/ 22149034#22149034 –

+2

所以最好的方法是寫內聯css的權利? –

回答

2

你可以看看這個。

http://www.barelyfitz.com/projects/csscolor/

它清楚地解釋瞭如何動態地添加CSS風格。

你可以做這樣的事情在你的PHP

<?php 
header("Content-type: text/css"); 
$white = '#fff'; 
$dkgray = '#333'; 
$dkgreen = '#008400'; 
?> 
body { 
background:<?=$white?>; 
color:<?=$dkgray?>; 
} 
h1, h2, h3, h4 { 
color:<?=$dkgreen?>; 
} 
blockquote { 
color:<?=$dkgreen?>; 
} 
+1

-1:雖然鏈接的資源看起來不錯。只有鏈接上的答案是不好的。鏈接可能會中斷,你的答案變得毫無用處。如果你只想提供一個鏈接,那麼你應該這樣做的評論。另外,如果鏈接不可用,編輯您的答案以包含鏈接中對自己有用的關鍵提取內容 – musefan

+1

@musefan通過一些步驟更新了我的答案。即使鏈接打破這可能有助於某人 – BKM

1

可以在Styles使用PHP

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

而且在獲取$color每次使用RAND()功能。

+0

不,他希望用戶選擇的選項。 – sinisake

+0

但他並沒有提到用戶可以選擇的地方。所以我從DB – Gautam3164

+0

認爲它是的,你說得對,我現在也不確定(順便說一句,沒有投下你的答案,我不這樣做: ))然而,顏色是在表中,但首先,用戶應該做出選擇,所以RAND()不會是選項,我猜... :) – sinisake

0
<?php 
setcookie("bgcolor", "#f2f2f2", time()+3600); 
?> 

<?php 
if (isset($_COOKIE["user"])) 

echo "<style>body{background-color:" . $_COOKIE["bgcolor"] . "}</style>"; 

?> 
0

試試這個javascript函數....

<script type="text/javascript"> 
function changeBG(color) 
{ 
var body=document.getElementsByTagName('body')[0]; 
body.style.background= color; 
} 
</script> 

和消防按鈕點擊或任何你想要的情況下,本功能像..

<input type="button" onclick="return changeBG(this.value);" value="<?php echo $color; ?>"> 
0

Instea d在你的CSS中寫PHP你可以使用javascript(ajax request)。我沒有足夠的關於你想要做什麼的信息,但是當用戶在select中選擇一個值時,你可以通過使用AJAX檢索數據。開發PHP編寫代碼到CSS中更復雜...不髒?也許在這一點上我錯了。