DEV Community

Lupita Code 🌄
Lupita Code 🌄

Posted on • Edited on

27 1

¿Cómo ordenar las propiedades en CSS?🤔

¡Hola gente bonita!👋

¿Alguna vez te has preguntado en que orden deben ir las propiedades de CSS?, ¿cómo sabes dónde añadir esa propiedad CSS? Tal vez las colocas al azar, o quizás las ordenas alfabéticamente.

En el articulo anterior explique el orden de los atributos en HTML, ahora voy a explicar el orden de las propiedades en CSS.

El objetivo de ordenar las propiedades es mantener un código claro o comprensible y evitar perder tiempo en pensar donde colocar una nueva propiedad.

Un orden adecuado permite "escanear" rápidamente el bloque de declaraciones en busca de propiedades.

🧐¿Cuál es el orden?

No hay un estándar o regla para ordenar las propiedades, usted puede colocarlas en el orden que desee, pero mi recomendación es que trate de seguir el mismo patrón y evitar un caos en tu código.

Existen diferentes guías de estilo donde se mencionan diferentes maneras de ordenar las propiedades, por ejemplo:

Vamos a echar un vistazo a la guía de estilos del creador de Bootstrap: Mark Otto. Según esta guía las propiedades se agrupan en diferentes categorías, las cuales son las siguientes:

  1. Posicionamiento
  2. Modelo de caja
  3. Tipografía y texto
  4. Visual
  5. Miscelánea

El posicionamiento es lo primero porque puede sacar un elemento del flujo normal del documento y anular los estilos relacionados con el modelo de caja. Las propiedades que tienen que ver con animaciones y transiciones se colocan en la parte final.

Ejemplo

Siguiendo la guía de estilos:

.declaration-order {
  // Positioning
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;

  // Box model
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;

  // Typography
  font: normal 14px "Helvetica Neue", sans-serif;
  line-height: 1.5;
  color: #333;
  text-align: center;
  text-decoration: underline;

  // Visual
  background-color: #f5f5f5;
  border: 1px solid #e5e5e5;
  border-radius: 3px;

  // Misc
  opacity: 1;
}

Enter fullscreen mode Exit fullscreen mode

Es complicado aprender de memoria el orden de las propiedades o estar ordenándolas una por una, pero afortunadamente existen diferentes formas de configurar este orden.

🤵 Stylelint

Si trabajas en equipo te recomiendo StyleLint que es un linter para CSS (así como ESLint lo es para JavaScript). Existen diversos plugins de Stylelint que puedes instalar en tu proyecto y automaticamente ordena las propiedades en tus archivos CSS.

Primero ejecuta el siguiente comando en tu terminal para instalar stylelint:

npm install --save-dev stylelint
npx stylelint --version
Enter fullscreen mode Exit fullscreen mode

Despues puedes instalar el plugin que desees, en este caso yo voy a instalar el plugin recess order config, que se encarga de ordenar las propiedades según la guía de Bootstrap:

npm install --save-dev stylelint-config-recess-order
Enter fullscreen mode Exit fullscreen mode

Crea un archivo llamado .stylelintrc.json en la raíz de tu proyecto. Este archivo contendrá la configuración para stylelint.


{
    "extends": [
        "stylelint-config-recess-order"
    ]
}

Enter fullscreen mode Exit fullscreen mode

Una vez configurado, si deseas que stylelint ordene las propiedades de tu archivo css automáticamente, usa la opción --fix.

También puede utilizar el plugin alphabetical order config para ordenar las propiedades alfabeticamente.

Igual puede utilizar directamente el plugin stylelint-order si, por ejemplo, desea especificar su propio orden.

🔗Extensión para vscode

PostCSS Sorting. es una extensión para vscode que permite configurar tu propio orden.

👫Aportaciones de la comunidad

@joshwcomeau uno de mis referentes en CSS publicó un thread en 𝕏 sobre el orden que el utiliza para ordenar las propiedades. Usa como referencia una guía de estilo diferente llamada: Idiomatic-CSS

@chriscoyier publicó en 𝕏 una manera de ordenar alfabéticamente las propiedades de CSS usando vscode, puedes ver la discusión aquí:

Si utilizas un método diferente para organizar tus propiedades CSS. Deja un comentario para continuar el debate.

🔎Recursos:

Gracias por leer🦸🏻‍♀️
Mis redes sociales donde comparto notas de código:

▶️Youtube
📷Instagram
𝕏Twitter
🎵Tik Tok
🔵Facebook
🐙GitHub
🔲Codepen
✍️Medium

AWS GenAI LIVE image

How is generative AI increasing efficiency?

Join AWS GenAI LIVE! to find out how gen AI is reshaping productivity, streamlining processes, and driving innovation.

Learn more

Top comments (1)

Collapse
 
jeancarlosr17 profile image
Jean carlos recio

Este tipo de reglas es como linter o se podrian agregar a uno?

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay