• Resuelto compr1426

    (@compr1426)


    Hola a todos 👋

    Estoy intentando que en mis entradas de WordPress cada bloque de contenido que va entre un H2 y el siguiente H2 tenga un color de fondo alterno:
    * blanco → gris claro → blanco → gris claro*, y así sucesivamente, sin tener que poner clases manuales en cada sección.

    Mi estructura actual (simplificada) es algo así:

    <article class="entrada"> <h2>Título 1</h2> <p>Contenido…</p> <p>Más contenido…</p> <h2>Título 2</h2> <p>Contenido…</p> <h2>Título 3</h2> <p>Contenido…</p> </article>

    Busco una solución solo con CSS (o, si no es posible, cualquier alternativa sencilla) que:

    1. Aplique fondo #ffffff a todo lo que va debajo de los H2 impares.
    2. Aplique fondo #f7f7f7 (gris clarito) a lo que va debajo de los H2 pares.
    3. Funcione en el editor por bloques de WP (Gutenberg) sin tener que envolver cada bloque manualmente.

    ¿Se puede conseguir con :nth-of-type, :has() o alguna otra técnica pura de CSS?
    ¡Mil gracias de antemano por la ayuda!

    La web es:

    https://reformaspormurcia.es/

    ¡Cualquier idea será bienvenida!

    Un saludo

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • cehojac

    (@cehojac)

    Hola @compr1426 par conseguir el efecto que deseas en css debes aplicar «even» y «odd»

    ejemplo:

    article h2:nth-of-type(odd){
    background: #ffffff;
    }

    article h2:nth-of-type(even){
    background:#f7f7f7;
    }
    • Esta respuesta fue modificada hace 4 meses por cehojac.

    Tendrías que tener los contenidos como hijos de un contenedor por grupo, y darle el fondo al padre. Porque si solo das color de fondo a los p, el espacio entre p va a salir con el fondo del article.

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)

Debes estar registrado para responder a este debate.