• Saltar a la navegación principal
  • Saltar al contenido principal
Código Genesis

Código Genesis

Tutoriales de WordPress y Genesis Framework

  • Empieza aquí
  • Cuenta
    • Suscripción
    • Perfil
    • Actualizar tarjeta
    • Favoritos
    • Salir
  • Suscribirse
  • Acceder

Galería con efecto acordeón al hacer hover

Este es uno de los ejemplos que mostré durante la presentación que hice en la WordCamp Logroño 2025.

El resultado final

El código

add_action( 'init', 'cg_horizontal_accordion_style' );
function cg_horizontal_accordion_style() {
	register_block_style( 'core/gallery', array(
		'name'         => 'osom-horizontal-accordion',
		'label'        => __( 'Horizontal Accordion', 'osom-block-styles' ),
		'inline_style' => '@media (prefers-reduced-motion: no-preference) {
		 .wp-block-gallery.is-style-osom-horizontal-accordion {
			 height: 400px;
		 }
		 .wp-block-gallery.is-style-osom-horizontal-accordion figure.wp-block-image {
			 flex: 1 1 0%;
			 transition: flex-basis 0.5s cubic-bezier(0.4,0,0.2,1), filter 0.3s;
			 min-width: 0;
			 max-width: 100%;
			 margin: 0;
			 position: relative;
			 cursor: pointer;
			 z-index: 1;
			 height: 100%;
			 display: flex;
			 align-items: stretch;
		 }
		 .wp-block-gallery.is-style-osom-horizontal-accordion figure.wp-block-image img {
			 aspect-ratio: 2/3;
			 width: 100%;
			 height: 100%;
			 object-fit: cover;
			 transition: box-shadow 0.3s, filter 0.3s;
			 display: block;
		 }
		 @media (hover: hover) and (pointer: fine) {
			 .wp-block-gallery.is-style-osom-horizontal-accordion:has(figure.wp-block-image:is(:hover, :focus)) figure.wp-block-image:not(:is(:hover, :focus)) {
				 flex-basis: 120px;
				 filter: grayscale(0.5) brightness(0.8);
				 z-index: 0;
			 }
			 .wp-block-gallery.is-style-osom-horizontal-accordion figure.wp-block-image:is(:hover, :focus) {
				 flex-basis: 480px;
				 z-index: 2;
				 filter: none;
			 }
		 }
		 @media (max-width: 800px) {
			 .wp-block-gallery.is-style-osom-horizontal-accordion {
				 height: 220px;
				 flex-direction: column;
			 }
			 .wp-block-gallery.is-style-osom-horizontal-accordion figure.wp-block-image {
				 flex-basis: auto;
				 min-height: 80px;
				 height: 100%;
			 }
		 }
	 }',
	) );
}

Contenido gratuito CSS Estilos de bloques PHP

Nahuai Badiola

Desarrollador web especializado en WordPress y Genesis Framework. CEO de Código Genesis y cofundador de OsomPress (temas y plugins para WordPress).

Para dejar dudas o preguntas sobre este código, puedes identificarte o suscribirte.

  • Empieza aquí
  • Sobre Código Genesis
  • Preguntas frecuentes
  • Contacto
  • Feed

Aviso legal · Política de privacidad · Política de cookies · Condiciones de contratación
Copyright © 2026 · Código Genesis

close-icon

¿Has olvidado tu contraseña?