2014-03-04 277 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中更复杂...不脏?也许在这一点上我错了。