6

CSS: 5 consejos para optimizar tus estilos

15627Puntos

hace 5 años

Existen mil y una formas de utilizar CSS… Es por eso que, en muchas ocasiones, llegamos a hacerlo de manera tal que simplemente cumpla con lo que se adecúe a nuestro diseño, sin pensar realmente cómo optimizarlo, sólo porque “así funciona”. Sin embargo, hay que tener en cuenta que si no lo mejoramos, será difícil reutilizarlo, y en el peor de los casos podemos causar que nuestro sitio web sea lento y la experiencia de quienes nos visitan no sea la mejor. Por eso, a continuación te mostraré cinco casos y consejos que puedes tener en cuenta al momento de empezar a crear tus estilos.

Declaraciones y Reglas

Es muy común ver varias declaraciones asignadas a un sólo selector, o un conjunto de reglas. Por ejemplo:
.btn-login {
  background: green;
  padding: 1em;
  display: inline-block;
  color:white;
}
En el código anterior, se presentan una serie de problemas que podemos solucionar de una forma más eficiente. Primero, la clase .btn-login describe un caso específico que hace que sea difícil reutilizarlo en un futuro, pues sólo tenemos un botón de login en nuestro sitio. Por otro lado, el conjunto de declaraciones es demasiado monolítico: se encarga de todo lo relacionado con este botón, mezclando responsabilidades estructurales y cosméticas. Lo ideal sería crear tres conjuntos de reglas, más pequeñas, con un menor número de declaraciones bien definidas y encapsuladas; esto las hará combinables, y podrás componer con ellas de forma modular. Así, si tenemos pensado utilizar más botones en nuestro sitio, podemos reutilizar estas mismas clases sin tener que crear nuevos selectores con sus propias reglas, y ahorrarnos código.
.btn {
  display: inline-block;
}
.btn--small {
  padding: 1em;
}
.btn--positive {
  background: green;
  color: white;
}

Selectores por Regla

 
/* 1 selector por regla */
.btn {
  display: inline-block;
}
/* 2 selectores por regla */
h1, .u-h1 {
  font-size: 3em;
}
Tener muchos selectores por regla significa que estamos aplicando exactamente los mismos estilos a selectores diferentes. Si queremos que nuestro código sea manejable, te recomiendo que el número de selectores por regla sea tan cercano a uno como sea posible. Para que esto se cumpla, una posible solución sería crear un selector con clase única para manejar todas las eventualidades, haciendo que de esta manera nuestro CSS sea más pequeño y contemos con selectores reutilizables.
input type[text],
input type[email],
input type[password],
textarea {
  background: #fff;
}
Dicho esto, el siguiente ejemplo sería una mala práctica, puesto que mientras más inputs se agreguen al sitio, la lista de selectores seguirá creciendo a un punto que tal vez se vuelva inmanejable. La solución sería asignar todos estos estilos a una sola clase reutilizable. De esta manera, no importa si es un input de correo electrónico, texto o password: no necesitamos mantener una implementación específica de una lista de selectores.
.c-input-text {
  background: #fff;
}
En ocasiones, utilizar muchos selectores por regla es por miedo a utilizar clases. Esto hace que como desarrollador crees y mantengas largas listas de selectores encadenados exactamente a las mismas declaraciones. Sin embargo, hay que tener en cuenta que si adoptamos una arquitectura basada en clases, se pueden empezar a reciclar reglas de una manera mucho más concisa y práctica.

Selectores descendentes

No es muy recomendable utilizarlos y, de ser necesario, lo ideal es hacerlos tan cortos como sea posible, debido a que nos puede traer una serie de problemas. El primero de ellos es que mientras más largo sea, la especificación se verá incrementada; lo mejor es que la especificación se mantenga tan baja como sea posible. Por otro lado, disminuye la portabilidad, pues es difícil mover estilos alrededor de una vista cuando están fuertemente ligados a una estructura DOM específica.

Selectores de Id (#)

El número de selectores de Id que debe existir en tu código debe ser exactamente igual a cero, ya que no hay ninguna buena razón para utilizar Id's en CSS. Son infinitamente más específicos que las clases, y al instante son imposibles de reutilizar. Es por esto que, al emplearlos, no podemos manejar CSS modular y reutilizable.

!important

El keyword !important se utiliza al final de una propiedad CSS para obligar a que se ignore una declaración y forzar un cambio. El utilizar este keyword no es tan malo como en muchas ocasiones podemos creer; sólo ten cuidado y asegúrate de que todas las instancias de !important se encuentren solamente en clases que sean de utilidad. Como puedes ver, existen muchas formas de utilizar CSS en tu sitio web, pero nunca está de más analizar lo que quieres lograr antes de lanzarte a crear código. De esta forma, podemos encontrar una solución eficiente que a futuro podrá serte útil y te hará ahorrar tiempo en tu desarrollo. ¡Espero tus comentarios!
Fannytaviles
Fannytaviles
fannytaviles

15627Puntos

hace 5 años

Todas sus entradas
Escribe tu comentario
+ 2