Escribir CSS limpio y organizado es importante, especialmente para proyectos más grandes. Una de las mejores formas de estructurar su CSS es mediante la convención de nomenclatura BEM. En este artículo, explicaremos qué es BEM, por qué es importante, sus ventajas y desventajas, y le mostraremos cómo usarlo con dos ejemplos.
BEM significa Bloque, Elemento y Modificador. Es un sistema de nombres para escribir nombres de clases CSS que hace que su código sea más fácil de entender y mantener. El objetivo principal de BEM es ayudar a los desarrolladores a escribir CSS reutilizable, modular y escalable.
1. Bloque: Un componente independiente que tiene sentido por sí solo (por ejemplo, un botón o un formulario).
2. Elemento: Una parte del bloque que no tiene significado por sí sola y depende del bloque (por ejemplo, un icono de botón).
3. Modificador: Una versión diferente de un bloque o elemento (por ejemplo, un botón con un color diferente).
.block {} .block__element {} .block--modifier {}
Usar BEM te ayuda a evitar CSS confuso y desordenado. Aporta varios beneficios:
Comencemos con un bloque de botones básico y veamos cómo funciona BEM.
HTML:
CSS:
.button { padding: 10px 20px; background-color: #333; color: white; border: none; } .button--primary { background-color: blue; }
Explicación:
Ahora creemos un bloque de tarjetas con un título y una descripción (elementos), y una versión de tamaño pequeño (modificador).
HTML:
Title
This is a description.
CSS:
.card { padding: 20px; border: 1px solid #ddd; background-color: #f9f9f9; } .card__title { font-size: 18px; margin-bottom: 10px; } .card__description { font-size: 14px; color: #666; } .card--small { padding: 10px; }
Explicación:
1. Organizado y consistente: Ayuda a mantener tu CSS limpio y bien estructurado.
2. Evita conflictos de CSS: Reduce el riesgo de que los estilos de un componente afecten a otro.
3. Reutilizabilidad: Los bloques y elementos se pueden utilizar en varios lugares de un proyecto.
4. Fácil de mantener: Facilita la actualización y administración de CSS, incluso a medida que su proyecto crece.
1. Nombres de clase largos: Los nombres de clase BEM pueden ser bastante largos, lo que puede parecer abrumador al principio.
2. Curva de aprendizaje: Lleva algún tiempo acostumbrarse a la estructura BEM, especialmente si eres nuevo en CSS.
BEM es una metodología CSS popular porque promueve un código limpio y escalable. En proyectos grandes, CSS puede volverse rápidamente difícil de administrar. Con BEM, cada nombre de clase es único y descriptivo, lo que facilita la comprensión del propósito de cada clase. También evita problemas como conflictos de estilo y facilita la colaboración entre desarrolladores.
Si desea una forma consistente y modular de escribir CSS, BEM es una excelente opción. Puede que le lleve algún tiempo aprenderlo, pero a la larga, le ahorrará tiempo y mejorará su CSS. más fácil de mantener.
La convención de nomenclatura BEM es una excelente manera de mantener tu CSS organizado y escalable. Ayuda a evitar conflictos, hace que su código sea más fácil de mantener y promueve componentes reutilizables. Aunque puede parecer un desafío al principio debido a los nombres largos de las clases y la curva de aprendizaje, los beneficios superan con creces las desventajas. Si buscas escribir CSS más limpio y mejorar la colaboración en tus proyectos, ¡prueba BEM!
Espero que este artículo te haya resultado útil para comprender las convenciones de nomenclatura de CSS BEM. Si desea mantenerse actualizado sobre más artículos como este, consejos e ideas sobre desarrollo web, asegúrese de seguirme. No dude en comunicarse si tiene alguna pregunta o sugerencia. ¡Me encantaría saber de ti!
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3