我这是一个非常普遍的问题,但是允许用户自定义其登录配置文件颜色的最佳方法是什么?我应该将CSS放入内联吗?我可以将颜色值存储在类似会话的内容中,这样就不必每次都查找颜色值吗?
答案 0 :(得分:0)
CSS的美妙之处在于风格和内容的分离。如果有多个样式元素,我会使用单独的样式表并将调用交换到头部的css文件。
答案 1 :(得分:0)
我认为我个人的做法是这样的:
这将使用户能够自定义外观和内容的隔离,以便更好地维护。
希望它有意义,最重要的是;我希望那是'你在问什么。 干杯
答案 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');
});