WORDPRESS
WEB / FRONTEND
DISEÑO GRÁFICO

Qué es la Metodología BEM explicado con un ejemplo | Aprende CSS

BEM CSS
Tabla de contenidos

Qué es BEM

BEM significa Block Element Modifier y es una metodología de nomenclatura de clases en CSS que se utiliza para crear estilos de manera modular y escalable. El objetivo principal de BEM es mejorar la claridad y el mantenimiento del código.

La metodología BEM divide cada componente o bloque de una página web en tres partes: el bloque (block), el elemento (element) y el modificador (modifier).

  • Bloque (block): es una sección independiente y autónoma de la página web que puede contener otros elementos o bloques. Se nombra usando un prefijo que identifica el bloque, por ejemplo “btn” para un botón.
  • Elemento (element): son los componentes que forman parte de un bloque y no pueden ser usados fuera de él. Se nombra usando un guion bajo después del nombre del bloque, por ejemplo “btn_icon” para el icono de un botón.
  • Modificador (modifier): son las variaciones de un bloque o elemento. Se utilizan para cambiar su apariencia, estado o comportamiento, como por ejemplo, cambiar el color de un botón cuando está activo. Se nombra usando dos guiones bajos después del nombre del bloque o elemento, por ejemplo “btn__active” para el modificador de un botón activo.

Ventajas

BEM hace que el código CSS sea más legible y fácil de mantener, especialmente en proyectos grandes y complejos. Además, permite una mejor reutilización del código y evita la anidación excesiva de selectores, lo que mejora el rendimiento de la página.

La metodología BEM (Block, Element, Modifier) tiene varias ventajas:

  1. Claridad y estructura: Al utilizar una nomenclatura clara y estructurada para nombrar los bloques, elementos y modificadores, se obtiene un código más organizado y fácil de entender.
  2. Reutilización: La metodología BEM fomenta la reutilización de componentes y estilos. Al utilizar bloques y elementos comunes, se evita la duplicación innecesaria de código y se ahorra tiempo en el desarrollo.
  3. Escalabilidad: La metodología BEM es altamente escalable. Al dividir el código en bloques y elementos, se facilita la adición y eliminación de componentes sin afectar el resto de la página.
  4. Mantenimiento: Al tener una estructura clara y bien organizada, el mantenimiento del código es mucho más fácil y rápido.
  5. Colaboración: La metodología BEM facilita la colaboración entre equipos de desarrollo, ya que se basa en una nomenclatura clara y estructurada que es fácil de entender para todos los miembros del equipo.

Ejemplo práctico

Por ejemplo, si tuviéramos un bloque llamado “card”, que contiene un elemento “title” y un modificador “active”, las clases CSS se llamarían:

/* CSS */

.card {
  /* Estilos del bloque */
}

.card__title {
  /* Estilos del elemento */
}

.card--active {
  /* Estilos del modificador */
}

    Un ejemplo de implementación de BEM en CSS para un elemento “botón” sería el siguiente:

    <!– HTML –>
    
    <div class="btn btn--active btn--large">
      <span class="btn__icon"></span>
      <span class="btn__text">Enviar</span>
    </div>

    En este ejemplo, el bloque es “btn” y tiene los elementos “btn__icon” y “btn__text”. Además, tiene los modificadores “btn__primary” y “btn__large”, que indican que el botón es de tipo primario y grande, respectivamente.

    En el archivo CSS, las reglas para estilos específicos del bloque, elemento o modificador se escribirían de la siguiente manera:

    /* CSS */
    
    .btn {
      /* estilos para el bloque */
    }
    
    .btn__icon {
      /* estilos para el elemento */
    }
    
    .btn__text {
      /* estilos para el elemento */
    }
    
    .btn--active {
      /* estilos para el modificador */
    }
    
    .btn--large {
      /* estilos para el modificador */
    }

    Estos son solo algunos ejemplos que se pueden utilizar en la metodología BEM. La ventaja de utilizar esta metodología es que permite crear componentes reutilizables y fáciles de mantener en proyectos grandes y complejos.

    Relacionado

    Primer análisis GRATIS

    Analizo sin compromiso tu marca corporativa, tu sitio web (velocidad, SEO, visual…) o el diseño de tu interfaz UI/UX.

    ¿Preparado? Vamos a ello:

    SERED, el mejor hosting económico para WordPress

    Descuento del 10% anual en todos los planes de alojamiento web:

    Mantenimiento WordPress

    Plan Estándar

    Para blogs y páginas personales.
    25€ + IVA - Precio /Mes**
    • Actualización WordPress, Theme y Plugins.
    • Cobertura tareas hasta *1h/mes (NO ACUMULABLES) para cambios de texto, fotos, instalar un plugin, crear una nueva pestaña, etc.
    • Copia de seguridad semanal.
    • Control del servidor web.
    • Soporte & Asesoramiento por email.
    • Soporte vía WhatsApp.
    • Respuesta en 24h.
    • Gestión incidencias directamente con hosting.
    • Válido para multi idioma.
    • Válido para ecommerce.
    • Revisión e informes SEO.
    • Pago trimestral / anual.
    Popular

    Plan Pro

    Ideal para sitios profesionales y PYMES.
    49€ + IVA - Precio /Mes**
    • Actualización WordPress, Theme y Plugins.
    • Cobertura tareas hasta *2h/mes (NO ACUMULABLES) para cambios de texto, fotos, instalar un plugin, crear una nueva pestaña, etc.
    • Copia de seguridad diaria.
    • Control del servidor web.
    • Soporte & Asesoramiento por email.
    • Soporte vía WhatsApp.
    • Respuesta en 24h.
    • Gestión incidencias directamente con hosting.
    • Válido para multi idioma.
    • Válido para ecommerce.
    • Revisión e informes SEO.
    • Pago trimestral / anual.

    Plan Ecommerce

    Ideal para tiendas online.
    95€ + IVA - Precio /Mes
    • Actualización WordPress, Theme y Plugins.
    • Cobertura tareas hasta *4h/mes (NO ACUMULABLES) para cambios de texto, fotos, instalar un plugin, crear una nueva pestaña, etc.
    • Copia de seguridad diaria.
    • Control del servidor web.
    • Soporte & Asesoramiento por email.
    • Soporte vía WhatsApp.
    • Respuesta en 24h.
    • Gestión incidencias directamente con hosting.
    • Válido para multi idioma.
    • Válido para ecommerce.
    • Revisión e informes SEO.
    • Pago trimestral / anual.

    Analizar marca

    Necesito unos datos básicos para ponerme manos a la obra. Sólo te llevará un minuto ;)

    ¿A quién y dónde debo enviar los resultados?
    ⚠️ ¡IMPORTANTE! Ingresa un e-mail válido para recibir correctamente el análisis.
    💾 Subir archivos (hasta 10 imágenes de 5MB máx.)
    ¡Ya casi está! Sólo un último paso (opcional):

    Analizar web

    Necesito unos datos básicos para ponerme manos a la obra. Sólo te llevará un minuto ;)

    ¿A quién y dónde debo enviar los resultados?
    ⚠️ ¡IMPORTANTE! Para verificar que eres el propietario del sitio, es necesario un e-mail oficial que contenga el dominio del sitio web a analizar.
    ¡Ya casi está! Sólo un último paso (opcional):

    Analizar UI/UX

    Necesito unos datos básicos para ponerme manos a la obra. Sólo te llevará un minuto ;)

    ¿A quién y dónde debo enviar los resultados?
    ⚠️ ¡IMPORTANTE! Ingresa un e-mail válido para recibir correctamente el análisis.
    ¿Dónde puedo ver tu interfaz? Indica una URL o adjunta los archivos necesarios a continuación.
    ** ⚠️ si vas a adjuntar archivos, escribe en el campo "URL" la palabra "ADJUNTOS"
    💾 Subir archivos (hasta 20 archivos de 15MB máx. cada uno)

    ¡Ya casi está! Sólo un último paso (opcional):
    Mantenimiento_WordprPress_IS_CREATIVE

    Solicita tu Servicio de Mantenimiento WordPress

    Necesito unos datos básicos para ponerme manos a la obra. Sólo te llevará un minuto ;)

    Selecciona el plan que mejor se adapte a tus necesidades o seleccionar el "Plan Personalizado" si ninguno de los anteriores se ajusta a tus requisitos.
    ¡Ya casi está! Sólo un último paso (opcional):
    Analizando

    ¡Felicidades!

    La información ya está en camino. Responderé en un máximo de 2 días laborables, palabra ;)