Y en el comando para, simplemente apuntamos al diálogo que queremos abrir. Y eso es todo lo que se necesita para obtener esa primera interacción. Y en el diálogo, tenemos un botón de comando close que nos ayuda a cerrar el diálogo. Y como todo es HTML, podemos usar CSS para apuntar a cosas específicas para personalizar el aspecto y el comportamiento de ciertas cosas. Así que podemos estilizar el fondo. Así que si quisiéramos hacerlo verde, por ejemplo, podemos fácilmente hacerlo. Pero también podemos hacer cosas como cosas más avanzadas como animaciones. Como podemos animar el diálogo dentro y fuera, especialmente incluso si añadimos dinámicamente el elemento DOM a él, podemos usar animaciones discretas y estilos de inicio para definir dónde debería comenzar la transición en cualquier caso dado. Y en este caso, queremos escalarlo dentro y desde opacidad cero a uno, y podemos hacerlo fácilmente para dentro y fuera, lo cual es realmente poderoso. Y si no has mirado los diálogos debido a estas restricciones, todo esto está disponible desde 2024, así que desde hace bastante tiempo.
Y todos los navegadores principales definitivamente échale un vistazo de nuevo y dale otra oportunidad. Un patrón muy similar son los popovers, donde la principal diferencia es con los elementos popover, todavía aparecen, pero no deberían bloquearnos de interactuar con el resto de la página. Para eso, no es un elemento dedicado. Es solo un atributo popover que se puede poner en cualquier elemento, pero el patrón es el mismo. Le damos un identificador único y luego tenemos un atributo de objetivo popover en el botón, que le dice al navegador si hago clic en este botón, eso es lo que quiero abrir. Pero por defecto, simplemente se abre en el medio de la página, lo cual no es realmente lo que quieres con los popovers. Los popovers, quieres posicionarlos en relación con su disparador. Y podemos hacer eso con anclas CSS. Así que eso ha estado finalmente disponible desde principios de este año. Así que de nuevo, definitivamente échale un vistazo si no lo has hecho. Básicamente nos permite en los elementos disparadores, en este caso el botón, podemos darle al botón un nombre de ancla. Y luego en el propio popover, podemos decir posición absoluta y posición relativa a esa ancla. Y luego podemos usar el área de posición para decir como dónde en relación con el ancla queremos posicionarlo. Así que ahora mismo, centro inferior, si cambiamos eso a superior, va al centro superior. Y se encarga de toda la magia de colisión por nosotros. Así que calcular si hay suficiente espacio, de lo contrario empujarlo un poco o voltearlo al otro lado.
El navegador hace todo esto por nosotros, pero tenemos control total a través de CSS, lo cual es bastante genial. Y cuando hablamos de popovers, lo siguiente que probablemente pienses son los tooltips. Porque tienen un comportamiento muy similar, solo en diferentes interacciones. Así que usualmente quieres activar los tooltips cuando pasas el ratón sobre un elemento, y no puedes hacer eso con la API de popover.
Comments