在我正在开发的网站中,我希望用户在其个人资料页面上设置自己的自定义“css”。
例如,我让用户可以使用js颜色选择器为<body>
选择背景颜色。
然后使用php我创建一个'css-ready'字符串并将其保存在db。
我要问的是:每当用户输入另一个用户个人资料时,我如何才能使用此css?
可能会有很多用户可以自定义的东西,所以会有一个很大的CSS字符串,我需要一些跨浏览器的东西,如果可能的话,也可以没有javascript工作..
谢谢。
答案 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
}
?>