用户个人资料自定义css

时间:2012-05-28 21:05:02

标签: php javascript css

在我正在开发的网站中,我希望用户在其个人资料页面上设置自己的自定义“css”。

例如,我让用户可以使用js颜色选择器为<body>选择背景颜色。

然后使用php我创建一个'css-ready'字符串并将其保存在db。

我要问的是:每当用户输入另一个用户个人资料时,我如何才能使用此css?

可能会有很多用户可以自定义的东西,所以会有一个很大的CSS字符串,我需要一些跨浏览器的东西,如果可能的话,也可以没有javascript工作..

谢谢。

3 个答案:

答案 0 :(得分:1)

您可以尝试使用带有内容类型text / css标题的php文件,根据从数据库中获取的内容回复CSS,您可以将默认CSS添加到您的网站,只需创建链接标记列表的最后一个路径即可那个php文件,这样你就可以使用默认的CSS来回退,如果定义了任何自定义的CSS,可以在默认情况下应用。

答案 1 :(得分:1)

这可以通过asp.net中的Handler来完成。我相信PHP中也会有类似的解决方案。首先,您需要为每个用户在数据库中保存样式属性。确保样式的语法(选择器名称,花括号,分号等)按顺序排列。您可以从会话对象获取用户信息,或者将带有查询字符串的变量传递给处理程序。

从处理程序收到的响应可以直接放在标签之间作为内容类型 - text / css如下:

有了这个,你应该准备好了!

但是,每次页面加载时都会导致性能下降,整个文件将被加载(在普通的css文件中,只加载一次)。最好只保存数据库中您真正希望用户自定义的项目。您可以将其与父css文件级联,以获得更好的性能。

答案 2 :(得分:0)

你可以使用它是user-profile.tpl.php

<?php 
if(isset($account->user_css)){
?>
<style>
<?php echo $account->user_css; ?>
</style>
<?php
}
?>