Tutorial WordPress: Corregir espacios excesivos entre bloques Gutenberg con CSS

·

·

Introducción

Gutenberg (el editor de bloques de WordPress) aplica espaciados entre bloques que, dependiendo del tema y de estilos heredados de CSS, pueden parecer excesivos o inconsistentes en el editor y/o en el front-end. Este tutorial explica de forma detallada cómo diagnosticar y corregir esos espacios excesivos usando CSS y, cuando procede, con ajustes de theme.json o funciones en functions.php. Se muestran varias estrategias —desde la más segura (theme.json) hasta correcciones CSS puntuales— y se indican ventajas, riesgos y recomendaciones.

Conceptos clave que necesitas entender

Proceso recomendado — diagnóstico rápido

  1. Abre la página con el problema en el navegador y activa las herramientas de desarrollo (Inspector).
  2. Selecciona el bloque que parece generar espacio y observa el panel Computed para ver márgenes (margin-top / margin-bottom) y paddings.
  3. Revisa las reglas CSS aplicadas —especialmente busca .wp-block .wp-block, p, h2, h3, .wp-block-paragraph, .wp-block-heading y cualquier variable –wp–style–block-gap.
  4. Decide tu estrategia: ajuste de theme.json (recomendado si controlas el tema), o CSS front-end/editor para un ajuste rápido.

Solución 1 — Recomendada: controlar el gap con theme.json

Si tu tema usa theme.json (temas modernos), lo ideal es definir la escala y el valor del bloque gap. Esto aplica de forma nativa tanto al editor como —cuando el tema lo soporta— al front-end.

Ejemplo mínimo de theme.json:

{
  version: 2,
  settings: {
    spacing: {
      blockGap: 1rem,
      units: [ px, em, rem, % ]
    }
  }
}

Notas:

Solución 2 — Cambiar la variable CSS global (rápido y efectivo)

Si no quieres tocar theme.json o necesitas una corrección inmediata, puedes sobrescribir la variable –wp–style–block-gap en tu CSS del tema. Esto influirá en reglas que usan la variable para definir espacios entre bloques.

Ejemplo de CSS para front-end y editor:

/ Front-end: ajuste global del block gap /
:root {
  --wp--style--block-gap: 1rem / reduce el espacio entre bloques /
}

/ Editor (opcional, para que el bloque se vea igual en el editor) /
.editor-styles-wrapper {
  --wp--style--block-gap: 1rem
}

Cómo añadirlo:

Solución 3 — Reglas CSS específicas que normalizan márgenes entre bloques

Si los espacios provienen de márgenes en etiquetas internas (p, h2, ul…) y no tanto de la variable global, aplica reglas que normalicen márgenes y eviten duplicidades.

Ejemplo completo y robusto (front-end y editor):

/ 1) Normalizar separación entre bloques hermanos /
.wp-block   .wp-block {
  margin-top: 1rem / valor que quieras /
}

/ 2) Si quieres evitar afectar bloques anidados dentro de columnas/grupo,
   puedes usar selectores más contextuales:
   .wp-site-blocks .wp-block   .wp-block   (FSE / full site editing)
/
.wp-site-blocks .wp-block   .wp-block {
  margin-top: 1rem
}

/ 3) Corregir márgenes por defecto de elementos internos comunes /
.wp-block-paragraph p,
.wp-block-heading h1,
.wp-block-heading h2,
.wp-block-heading h3,
.wp-block-heading h4,
.wp-block-list ul,
.wp-block-list ol {
  margin-top: 0
  margin-bottom: 0.75rem / controla el espaciado interno del bloque /
}

/ 4) Evitar doble separación en bloques que ya aplican gap (por ejemplo,
   si hay .wp-block   .wp-block y además elementos internos con margen) /
.wp-block   .wp-block >  {
  margin-top: 0 / fuerza a que el gap entre bloques venga solo de .wp-block   .wp-block /
}

/ 5) Editor: asegurar apariencia igual en el editor /
.editor-styles-wrapper .wp-block   .wp-block {
  margin-top: 1rem
}

Explicación:

Solución 4 — Casos especiales: columnas, listas y grupos

Algunos bloques compuestos (columns, group) gestionan su propio espaciado. Para columnas, a veces el gap entre columnas o la separación entre bloques dentro de una columna se nota mayor. Ejemplos específicos:

/ Columnas: reducir gap entre columnas /
.wp-block-columns {
  gap: 1rem / controla espacio entre columnas en navegadores modernos /
}

/ Columnas: reducir espacio interno entre bloques dentro de cada columna /
.wp-block-column .wp-block   .wp-block {
  margin-top: 0.75rem
}

/ Lista: si 
    lleva margin, normalízalo / .wp-block-list ul, .wp-block-list ol { margin-top: 0 margin-bottom: 0.75rem padding-left: 1.2rem / ajusta el indent si es necesario / }

Solución 5 — Añadir CSS solo al editor o solo al front-end

Si quieres que el editor muestre un espaciado diferente (por preferencia de contenido) pero el front-end sea otro, carga estilos específicos.

Ejemplo PHP para encolar un CSS en el editor:

/ Añadir en functions.php: encolar editor-style.css /
function tema_mio_enqueue_editor_styles() {
  wp_enqueue_style(
    tema-mio-editor-styles,
    get_theme_file_uri( /assets/css/editor-style.css ),
    array(),
    filemtime( get_theme_file_path( /assets/css/editor-style.css ) )
  )
}
add_action( enqueue_block_editor_assets, tema_mio_enqueue_editor_styles )

Ejemplo PHP para inyectar una variable CSS en el front-end (inline):

function tema_mio_inline_block_gap() {
  css = :root{ --wp--style--block-gap: 1rem }
  wp_add_inline_style( tema-mio-style-handle, css )
}
add_action( wp_enqueue_scripts, tema_mio_inline_block_gap, 20 )

Asegúrate de reemplazar tema-mio-style-handle con el handle real de tu hoja de estilos principal.

Consejos y buenas prácticas

Ejemplo de ajuste responsive

/ Valor por defecto para desktop /
:root { --wp--style--block-gap: 1.25rem }

/ Menos espacio en pantallas pequeñas /
@media (max-width: 768px) {
  :root { --wp--style--block-gap: 0.75rem }
}

Cómo depurar si nada cambia

  1. Verifica en el inspector si tu CSS se está cargando. Busca el archivo y las reglas.
  2. Comprueba el orden de carga: si tu regla es sobrescrita por otra regla con más especificidad o por estilos inline, tendrás que aumentar especificidad o usar !important (con precaución).
  3. Confirma que no haya plugins que inyecten estilos que interfieran (por ejemplo, constructores, optimizadores CSS, etc.).
  4. Revisa si el tema usa una clase contenedora distinta a .wp-site-blocks o .editor-styles-wrapper y ajusta selectores.

Resumen rápido — qué aplicar según el caso

Conclusión

Corregir espacios excesivos entre bloques Gutenberg suele ser un trabajo de diagnóstico: identificar si provienen de la variable global blockGap, de márgenes internos de elementos (p, h2, ul…) o de reglas específicas del tema. La solución ideal es usar theme.json cuando sea posible como alternativa hay soluciones CSS (sobrescribir –wp–style–block-gap, normalizar márgenes internos o emplear selectores .wp-block .wp-block). Aplica los cambios primero en un entorno de pruebas, revisa editor y front-end, y ajusta para móviles. Con las pautas y ejemplos de este artículo podrás corregir y afinar el espaciado entre bloques de manera segura y mantenible.



Leave a Reply

Your email address will not be published. Required fields are marked *