Original web-page: http://emphaticsolutions.com/2011/03/19/object-oriented-css-for-programmers.html
19 de marzo de 2011
Me he sujetado en un profundo y oscuro secreto que podría fácilmente me echó de botella azul o Philz durante la fiebre del final de la mañana. No sé cómo hacer la calidad de escritura CSS. Está bien. Construí mi primer sitio web en 1995 y he estado haciendo cosas en la web profesionalmente desde 1997, pero al igual que muchos ingenieros que conozco, he estado de carga culting CSS para casi tan largo como eso ha sido posible.
Recientemente hice este secreto a mi terapeuta Twitter y vi que no estaba solo. Hace 15 años estábamos construyendo HTML a mano con <font size=”2″> las etiquetas. Ahora tenemos rieles. Deje que se hunden en un poco. Esa es una cantidad insana de progreso. PERO… Mira el CSS para prácticamente todas las grandes aplicaciones web y el CSS es un desastre. Hay una mezcla de las convenciones de nombres, ninguna organización, un montón de repetición y probablemente cientos si no miles de líneas de estilos que ni siquiera están en desuso. Así que… ¿cómo lo hacemos bien? Se puede encontrar una CSS fragmento de un logotipo que hace girar 3D en el fuego en mil sitios web en este momento, pero donde está teniendo la gente acerca de la construcción coherente, cohesionado y sostenible CSS? ¿Cómo podemos aplicar las prácticas de programación regular para CSS?
Nicole Sullivan, alias stubbornella, escribió acerca de su marco oocss en 2009 y ha estado golpeando entrar en razón a la gente desde entonces (y probablemente mucho antes). Asegúrese de leer el original OOCSS entrada de blog que comenzó todo y echa un vistazo a las presentaciones de Nicole, todos los cuales son de oro puro. (Y muchas, muchas gracias a Brent Miller para dar vuelta a mí en esto!)
De las 10 Mejores Prácticas de relieve en la presentación original, estos tres tenían el mayor efecto en mí:
Una vez que diseñamos a propósito CSS de una forma orientada a objetos, de repente un mundo nuevo se abre. Ya no estamos en los atascos largos CSS reglas con estilos repetitivos. Estamos creando únicas clases pequeñas, que pueden estar compuestas al estilo de nuestros elementos. Hey, eso suena como la programación de verdad! ¡Hagámoslo!
Diseño Orientado a Objetos La heurística es uno de mis libros favoritos de programación. Dentro de la cubierta del autor enumera un centenar de heurística para la programación orientada a objetos. Si usted está buscando para el ganador del premio “mejor índice” 1996, eso es todo. Aquí están algunos de los heurísticos del libro, aplicado a OOCSS.
Este es un objetivo más específico que las mejores prácticas enumeradas anteriormente. Para mí, esto significa crear diferentes clases para manejar el comportamiento de estilo que no siempre se va a utilizar en conjunto. Sin embargo, la versión anti-patrón de esto es tener un montón de clases pequeñas que hacen muy poco y elementos que necesitan una docena de clases para funcionar correctamente. Aquí radica el arte del buen OOCSS.
Al igual que en la declaración anterior, no hay que ver a clases con un gran número de estilos especificados. Me pregunto qué es una buena regla de oro? ¿Cuántas líneas tiene un CSS clase tiene que ser antes de que sea demasiado grande?
¡Nombres semánticos! Ahora que no estamos saturando nuestras clases con docenas de estilos, podemos nombrarlos bien. Piensa primero en el “usuario” de tu CSS. Cuando alguien está leyendo el marcado, ven una lista de nombres de clase que dan estilo a un elemento. ¿Con qué facilidad pueden visualizar dónde y cómo se representará un elemento al leer esos nombres?
Yo diría que debemos trabajar duro para romper esta regla. Estamos componiendo clases (colaboradoras) como una regla. Debemos apuntar a limitar el número de clases necesarias para lograr el estilo deseado, sin embargo.
Esto es enorme. Esto se refiere específicamente a la separación de la estructura y la piel. Las clases deben ser portátiles.
Relacionado: “Elegir composición sobre herencia”. Piénselo de esta manera: el DOM representa la herencia, mientras que las clases personalizadas se utilizan en la composición.
Gran regla de CSS. Apalancamiento que el efecto “cascada” de CSS. Coloca estilos comunes como en lo alto de la jerarquía de herencia (DOM), y anular cuando sea necesario.
Estoy llamando al punto de bonificación #4 desde arriba por segunda vez porque es muy importante. Nicole dice que no deberíamos usar las ID para los elementos de estilo porque se supone que una ID se refiere a una sola instancia, y nuestro objetivo de OOCSS es la reutilización y la composición. Sin embargo, hay una razón aún más simple para usar clases en lugar de ID. Un elemento puede tener cero o un ID asignado, pero un elemento puede tener muchas clases. Componga estilos de varias clases y guarde sus ID para identificar realmente un solo elemento, especialmente cuando necesite capturarlo con JavaScript.
Me encantaría escuchar sus normas orientadas a objetos para crear buena, fácil de mantener CSS. Añadir en los comentarios, envíeme un correo electrónico o copiar en twitter me @briandoll y voy a añadir a esta entrada.
Nota: Estoy al tanto de Saas y brújula, pero para los propósitos de claridad en torno a OOCSS, este post va dirigido a desnuda CSS. Sé que muchas personas les encanta CSS marcos generador, supongo que no estoy allí todavía personalmente.
© 2007-2015 Brian Doll
Recent Comments