Se convierte en un popover que se puede controlar sin JavaScript. Ahora, por supuesto, también puedes hacerlo en JavaScript. Entonces puedes llamar al método de mostrar popover en tu elemento, y eso también lo mostrará. Luego puedes usar eso si quieres hacer popovers temporizados, como lo estaba haciendo Microsoft Teams conmigo, que aparecía y desaparecía en ciertos momentos.
Ahora, trabajando en popovers y diálogos y aprendiendo cómo funcionan, me surgió esta pregunta, ¿cómo son realmente diferentes estos patrones? Parecen bastante similares. Así que quiero llevarte a través de un par de ejes diferentes en los que realmente son diferentes.
Uno es modal versus no modal. Ahora, modal significa que un elemento, si es modal, es lo único con lo que el usuario puede interactuar. Todo lo demás está bloqueado, por lo que no puedes seleccionar texto, no puedes hacer clic, no puedes desplazarte, idealmente. Por lo tanto, cualquier otra cosa es imposible, solo puedes hacer las partes modales. Eso es útil cuando has decidido rastrear a tus usuarios, y según la ley europea, necesitas pedir consentimiento. Entonces, si haces eso, probablemente quieras usar un modal, porque no puedes colocar ninguna cookie antes de haber pedido permiso, y tampoco quieres que tus usuarios naveguen por tu sitio web sin rastrearlos, supongo, porque ese es tu objetivo allí.
Los diálogos no modales son cosas como menús en tus aplicaciones, como este, donde estás editando una imagen, y obtienes algunas opciones para esa imagen, o widgets de chat que pueden aparecer sobre tu contenido. Ahora, deben poder cerrarse fácilmente, y es importante que puedas hacer otras cosas en la página web, como en este caso, puedo imaginar que las personas solo quieren continuar reservando su viaje, y no quieren hablar contigo o chatear, por lo que quieres que sea fácil de cerrar. Hablando de cerrar, hay diferentes formas de cerrar. Una es el cierre explícito, que es lo que sucede cuando tienes un botón y necesitas hacer clic en él, o cuando un script lo elimina realmente, y hay un cierre ligero, que es una especie de cierre automático. Entonces, cuando estás eligiendo una fuente en Google Docs, obtienes esta lista de fuentes, pero cuando comienzas a desplazarte o haces clic fuera de ella, simplemente desaparece. No necesitas hacer nada especial para que desaparezca.
Luego, el apilamiento. Probablemente todos estemos familiarizados con el índice Z en CSS. Te permite apilar elementos uno encima del otro y controlar el orden en que eso sucede. Entonces, si le asignas un índice Z de uno a un elemento y un índice Z de dos al otro, el dos estará por encima del uno porque es un número más alto, y probablemente todos hayamos visto números muy altos en nuestras bases de código. Ahora, lo genial de la capa superior es que ocurre por encima de todo. Por lo tanto, el apilamiento Z ocurre en tu cuerpo, y puedes ver esto como una capa separada de cualquier otra cosa en tu cuerpo. También significa que no puedes posicionar nada en relación con cosas que no están en la capa superior.
Luego, los fondos, a veces pueden ser útiles para llamar la atención sobre ciertos elementos, y para elementos modales también ayuda a mostrar que son modales y que las otras cosas no están disponibles actualmente. Los elementos de la capa superior vienen con un fondo de forma gratuita en el navegador, y puedes darle estilo con ::backdrop en tu CSS, y luego puedes hacer cosas como cambiar el color o agregar un poco de desenfoque o hacer todo tipo de otras cosas que CSS te permite hacer. Por lo tanto, eso es muy útil y solo ocurre con elementos de la capa superior específicamente.
Y por último, hay trampas de enfoque del teclado. Entonces, cuando estás construyendo un modal, a veces quieres atrapar a las personas dentro de ese modal.
Comments