Refactorización de CSS en Angular con OOCSS y SASS
Clase 13 de 19 • Curso de Arquitecturas CSS
Resumen
¿Cómo aplicar OOCSS en un proyecto Angular con SAS?
La metodología de OOCSS (Object-Oriented CSS) está diseñada para mejorar la estructura y optimización de nuestros estilos, promoviendo el principio de "don't repeat yourself" (no te repitas). En este entorno poderoso, trabajaremos con Angular y SAS para transformar un proyecto de Pokémon Team. Acompáñanos a descubrir cómo refactorizar el CSS de manera eficiente.
¿Qué encontramos en la interfaz gráfica?
El proyecto consiste en una barra de búsqueda donde puedes introducir el nombre de un Pokémon, luego hacer clic en "Search Pokémon" y ver una tarjeta con información del Pokémon. Además, puedes agregar este Pokémon a un equipo. Analizaremos el componente de la tarjeta del Pokémon para aplicar OOCSS.
¿Cómo es el código HTML del componente Pokémon Card?
En el HTML del componente Pokémon Card, encontramos una estructura que incluye etiquetas como section
, h3
, y ul
. Estos elementos inicialmente carecen de clases específicas, pero aplicaremos la metodología OOCSS para mejorar su organización y su estructura:
<section class="pokemon-card">
<h3>Nombre del Pokémon</h3>
<img src="ruta_imagen" alt="imagen del Pokémon">
<ul>
<li class="type">Tipo</li>
</ul>
</section>
Con OOCSS, separamos la estructura de la apariencia del contenido, manteniendo limpio el HTML.
¿Cómo refactorizamos el SAS?
Al revisar el código SAS, encontramos varias líneas de código con estilos repetidos y codificación de clases específicas para cada tipo de Pokémon. En lugar de esto, aplicaremos la potencia de SAS creando variables y ciclos para simplificar:
$colors: (
normal: #A8A878,
fire: #F08030,
// Otros colores...
);
@each $type, $color in $colors {
.type-#{$type} {
background-color: $color;
}
}
Este fragmento incluye la iteración sobre los tipos de Pokémon y asigna un color de fondo único para cada uno, eliminando la necesidad de escribir clases redundantes.
¿Qué ventajas logramos con el refactor?
El uso de OOCSS en conjunto con SAS nos permite:
- Reducción de líneas de código: Al eliminar redundancias, se hace más sencillo el mantenimiento futuro del proyecto.
- Código semántico y limpio: Al separar la estructura de la apariencia, seguimos mejores prácticas que mejoran la legibilidad y el coherencia.
- Uso eficiente de variables y ciclos en SAS: Aprovechamos al máximo las capacidades de SAS para gestionar estilos de manera dinámica.
¿Cómo puedes extender esta metodología a otros componentes?
Este ejercicio solo se aplicó al componente de la tarjeta, pero puedes continuar el refactor en otros componentes dentro del proyecto de Pokémon Team. Te invitamos a experimentar con el resto del proyecto y compartir tus resultados con la comunidad. ¡Atrévete a mejorar el código y a compartir tus soluciones en los comentarios!