用户登录配置文件的自定义颜色方案

时间:2009-12-28 06:05:55

标签: javascript ruby-on-rails css color-scheme

我这是一个非常普遍的问题,但是允许用户自定义其登录配置文件颜色的最佳方法是什么?我应该将CSS放入内联吗?我可以将颜色值存储在类似会话的内容中,这样就不必每次都查找颜色值吗?

5 个答案:

答案 0 :(得分:0)

CSS的美妙之处在于风格和内容的分离。如果有多个样式元素,我会使用单独的样式表并将调用交换到头部的css文件。

答案 1 :(得分:0)

我认为我个人的做法是这样的:

  1. 隔离用户可以自定义的基色和颜色/样式。
  2. 将一组可自定义的用户主题制作成单独的CSS文件。
  3. 根据用户选择;我可以使用javascript(或者有一个更精细的控件,JQuery)来动态更改脚本标记以指向不同的css资源。
  4. 这将使用户能够自定义外观和内容的隔离,以便更好地维护。

    希望它有意义,最重要的是;我希望那是'你在问什么。 干杯

答案 2 :(得分:0)

您可以这样使用它:

首先,您需要划分您希望用户能够自定义的区域或小部件。然后,您将为每个元素(区域/小部件)创建2,3或更多的CSS类。然后你需要让UI使用/选择不同的主题,颜色方案,并使用个人资料或cookie记住每个用户/小部件。

答案 3 :(得分:0)

如果您要选择创建主题并允许用户选择它们,最好的方法是创建一个包含位置,浮点等属性的常见样式表,但不包含与颜色相关的属性。然后创建第二个具有颜色相关属性的属性 - 您可以根据需要创建尽可能多的属性。您可以使用以下方法导入它们:

<link rel="stylesheet" type="text/css" src="common.css" />
<link rel="stylesheet" type="text/css" src="skin-blue.css" />

在cookie中你只需存储一个值,例如'skin = skin-blue',然后在RoR布局中导入正确的样式表。

另一种选择是使用http://www.alistapart.com/articles/alternate/中描述的备用样式表技术 - 这完全是客户端,因此您在RoR方面可以做的更少,同时仍然为用户提供您想要的灵活性。

答案 4 :(得分:0)

如果在运行中或仅使用php:

,则使用jquery向主体或包装器添加类
<body id='foo' class='bar<?php echo $user_class ? " $user_class" : '';?>'>

让你的CSS像这样

body#foo.embarrassing .someElement
{
     background-color: hotpink;
}

快速的JQuery会是这样的:

$('.hotPinkButton').click(function(e){
     $('body').addClass('hotpink');
     //you can also do a if  ($("body").hasClass( <#String class#> ))
     $('body').removeClass('coldpink');
});