Hay una serie de metodologías reconocidas para formatear su CSS. En última instancia, depende de usted lo que se sienta más cómodo escribiendo, pero esto le ayudará a administrar su CSS para proyectos más grandes y complicados. No es que importe, pero tiendo a usar una combinación de BEM y SMACSS.
BEM es una convención de nomenclatura muy útil, potente y simple para hacer que su código de front-end sea más fácil de leer y comprender, más fácil de trabajar, más fácil de escalar, más sólido y explícito y mucho más estricto.
Bloquear
Entidad independiente que es significativa por sí misma, como:
header, container, menu, checkbox, input
Elemento
Partes de un bloque y no tienen un significado independiente. Están semánticamente vinculados a su bloque:
menu item, list item, checkbox caption, header title
Modificador
Banderas en bloques o elementos. Úselos para cambiar la apariencia o el comportamiento:
disabled, highlighted, checked, fixed, size big, color yellow
El propósito de OOCSS es fomentar la reutilización de código y, en última instancia, hojas de estilo más rápidas y eficientes que sean más fáciles de agregar y mantener.
OOCSS se basa en dos principios fundamentales:
- Separación de estructura de piel
Esto significa definir características visuales repetidas (como estilos de fondo y borde) como "máscaras" separadas que puede mezclar y combinar con sus diversos objetos para lograr una gran cantidad de variedad visual sin mucho código. Vea el objeto del módulo y sus máscaras.
- Separación de envases y contenido
Básicamente, esto significa que "rara vez se utilizan estilos que dependen de la ubicación". Un objeto debe verse igual sin importar dónde lo coloques. Entonces, en lugar de diseñar un específico con .myObject h2 {...}, cree y aplique una clase que describa el en cuestión, como. Esto le da la seguridad de que: (1) todos los correos electrónicos no clasificados tendrán el mismo aspecto; (2) todos los elementos con la clase de categoría (denominada mixin) tendrán el mismo aspecto; y 3) no necesitará crear un estilo de anulación para el caso cuando realmente desee que .myObject h2 se vea como el normal.
SMACSS es una forma de examinar su proceso de diseño y como una forma de encajar esos marcos rígidos en un proceso de pensamiento flexible. Es un intento de documentar un enfoque coherente para el desarrollo del sitio cuando se utiliza CSS.
En el núcleo mismo de SMACSS está la categorización. Al categorizar las reglas de CSS, comenzamos a ver patrones y podemos definir mejores prácticas en torno a cada uno de estos patrones.
Hay cinco tipos de categorías:
Base
Contiene estilos de elementos restablecidos y predeterminados. También puede tener estilos base para controles como botones, cuadrículas, etc. que se pueden sobrescribir más adelante en el documento en circunstancias específicas.
El diseño
contendría toda la navegación, rutas de navegación, mapas del sitio, etc.
Los módulos
contienen estilos específicos de área, como estilos de formulario de contacto, mosaicos de la página de inicio, listado de productos, etc., etc.
Estado
Contiene clases de estado como isSelected, isActive, hasError, wasSuccessful, etc.
Tema
Contiene los estilos relacionados con la temática.
Hay demasiados para detallar aquí, pero eche un vistazo a estos otros también: