Pregunta

esta es una pregunta muy general, pero ¿cuál sería el mejor camino a seguir en cuanto a permitir a los usuarios personalizar el color de su perfil conectado? ¿Debo poner el CSS en línea? NND puedo almacenar los valores de color en algo así como una la sesión por lo que no tienen que ser consultado cada vez que?

¿Fue útil?

Solución

Si va a seleccionar la creación de los temas y permitir al usuario seleccionar ellos, la mejor manera sería la creación de una hoja de estilo común con propiedades tales como la posición, flotar, etc., pero ninguna de las propiedades relacionadas con el color. A continuación, crear un segundo grupo con las propiedades relacionadas con el color - se pueden crear muchos de ellos como sea necesario. Puede que importarlos usando:

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

En una cookie sólo podía almacenar un valor, por ejemplo, 'la piel = piel azul' y acaba de importar la hoja de estilo correcto en el diseño de RoR.

Otra opción sería la de utilizar la técnica de hojas de estilo alternativo descrito en http: //www.alistapart. com / articles / alternativo / -. esto es completamente lado del cliente por lo que tendrá menos que ver en el lado RoR, pero dando a los usuarios la flexability desea

Otros consejos

La belleza de la CSS es la separación de estilo y contenido. Si hay múltiples elementos de estilo volvería a usar hojas de estilo y de intercambio separados por la llamada al archivo CSS en la cabeza.

Creo que la manera en que yo personalmente haría es de esta manera:

  1. Separar los colores base y los colores / estilos que pueden ser personalizados por el usuario.
  2. Crear un conjunto de temas personalizables por el usuario en archivos CSS separadas.
  3. Sobre la base de la selección del usuario; Que pueda javascript usuario (o para tener un control más granular, JQuery) para cambiar dinámicamente la etiqueta de script a punto a los diferentes recursos css.

Esto daría a los usuarios la posibilidad de personalizar la apariencia y la segregación de contenido para una mejor capacidad de mantenimiento.

La esperanza que tiene sentido, y sobre todo; Espero que eso es lo que pedían. Saludos

Se puede ir con él de esta manera:

En primer lugar es necesario dividir las regiones o widgets que desea permitir que el usuario sea capaz de personalizar. A continuación, va a crear clases CSS, 2,3 o más para cada elemento (región / Reproductor). Luego hay que dar a la interfaz de usuario para el uso / seleccionar los diferentes temas, esquemas de color y recordarlos para cada usuario / widget de perfil o el uso de cookies.

Añadir una clase para el cuerpo o envoltorio usando jQuery si sobre la marcha o simplemente con php:

<body id='foo' class='bar<?php echo $user_class ? " $user_class" : '';?>'>

Y tener su CSS como esto

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

Una rápida JQuery ¿Podría algo como esto:

$('.hotPinkButton').click(function(e){
     $('body').addClass('hotpink');
     //you can also do a if  ($("body").hasClass( <#String class#> ))
     $('body').removeClass('coldpink');
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top