Php 用户配置文件自定义css

Php 用户配置文件自定义css,php,javascript,css,Php,Javascript,Css,在我正在开发的网站中,我想让用户在他们的个人资料页面上设置他们自己的自定义“css” 例如,我让用户能够使用js颜色选择器为选择背景颜色 然后使用php创建一个“css就绪”字符串并将其保存在db上 我想问的是:我如何让这个css在用户每次输入另一个用户配置文件时都应用 可能会有很多东西用户可以自定义,所以会有一个大的css字符串,我需要一些东西,将是跨浏览器的,如果可能的话,也没有javascript工作 谢谢。您可以尝试使用一个php文件,该文件的标题为内容类型text/css,它根据从数据

在我正在开发的网站中,我想让用户在他们的个人资料页面上设置他们自己的自定义“css”

例如,我让用户能够使用js颜色选择器为
选择背景颜色

然后使用php创建一个“css就绪”字符串并将其保存在db上

我想问的是:我如何让这个css在用户每次输入另一个用户配置文件时都应用

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


谢谢。

您可以尝试使用一个php文件,该文件的标题为内容类型text/css,它根据从数据库中获取的css响应css,您可以将默认css添加到您的网站,只需创建指向该php文件路径的链接标签的最后列表,这样,您就有了一个默认的CSS来回退,并且自定义的CSS可以应用在默认的CSS之上(如果有定义的话)。

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

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

有了这个,你应该准备好出发了


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

您可以使用这是user-profile.tpl.php

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


我真的看不出问题出在哪里。这完全取决于你如何构建网站。如果没有更多的细节,这个问题是无法回答的。对于初学者来说,你总是可以在数据库中保存他们的CSS首选项,并且每次登录时都用他们的首选项替换CSS文件的内容。问题很清楚。当我在我的站点中打开一个用户的配置文件页面时,在我的php函数中,在获取数据库中关于该用户的信息的同时,我还获取自定义css字符串。所以我把它放在一个变量里面。问题是。。当用户页面被查看时,我如何使应用这个字符串作为css来定制它?我可以在js中这样做,但我更喜欢服务器端解决方案。