interactive
intermediate
fab
floating
boton
menu
movil
Categoría · Interactivo Nivel de Dificultad · Intermedio Publicado el · 22 de enero de 2024

Botón de Acción Flotante

Botón de acción flotante moderno con animaciones suaves, opciones de menú expandible y efectos de hover elegantes. Perfecto para aplicaciones mobile-first y acciones rápidas.

#fab #floating #boton #menu #movil

Diseño Responsivo

Soporte para Modo Oscuro

líneas

602

Compatibilidad del Navegador

No

Vista Previa en Vivo

Interactúa con el componente sin salir de la página.

400px

Botón de Acción Flotante

Un componente moderno y accesible de botón de acción flotante (FAB) con opciones de menú expandible, animaciones suaves y soporte integral de interacción. Perfecto para aplicaciones mobile-first y acceso rápido a acciones principales.

Características

  • Menú Expandible: Animación suave con aparición escalonada de elementos
  • Múltiples Acciones: Soporte para funciones de mensaje, llamada, email y compartir
  • Tooltips al Hover: Etiquetas contextuales para mejor experiencia de usuario
  • Efectos Ripple: Retroalimentación táctil inspirada en Material Design
  • Navegación por Teclado: Accesibilidad completa con soporte de teclas de flecha
  • Soporte de Lector de Pantalla: Etiquetas ARIA y anuncios en vivo
  • Optimizado para Móvil: Tamaño amigable al tacto y diseño responsivo
  • Soporte Modo Oscuro: Adaptación automática a preferencias del sistema

Estados de Interacción

  • Estado Inactivo: Animación de pulso sutil para atraer atención
  • Efectos Hover: Transformaciones de escala y sombra
  • Estado Activo: Animación de rotación y expansión del menú
  • Estados de Enfoque: Indicadores de navegación por teclado
  • Estados de Carga: Transiciones suaves durante acciones

Características de Accesibilidad

  • Compatible con WCAG 2.1 AA
  • Navegación por teclado con teclas de flecha
  • Anuncios de lector de pantalla
  • Gestión de enfoque
  • Soporte de alto contraste
  • Tamaño de objetivo táctil (mínimo 44px)

Opciones de Personalización

.fab-main {
  background: linear-gradient(135deg, #tu-primario, #tu-secundario);
}.fab-container {
  bottom: 1rem;left: 2rem;.fab-menu {
  bottom: auto;
  top: 70px;

Manejadores de Acción

El componente incluye manejadores integrados para acciones comunes:

  • Mensaje: Abre interfaz de mensajería
  • Llamada: Inicia llamada telefónica
  • Email: Abre cliente de correo
  • Compartir: Usa Web Share API con fallback de portapapeles

Soporte de Navegadores

  • Chrome 60+ (soporte completo)
  • Firefox 55+ (soporte completo)
  • Safari 12+ (soporte completo)
  • Edge 79+ (soporte completo)
  • iOS Safari 12+ (soporte completo)
  • Android Chrome 60+ (soporte completo)

Características de Rendimiento

  • Animaciones aceleradas por hardware
  • Delegación eficiente de eventos
  • Manipulación mínima del DOM
  • Optimizado para animaciones a 60fps
  • Sistema de notificaciones de carga diferida

Ejemplos de Integración


const fab = new FloatingActionButton();
fab.addCustomAction('download', () => {
  console.log('Descarga iniciada');
});

fab.open();  // Abrir menú
fab.close(); // Cerrar menú
fab.toggle(); // Alternar estado

HTML

33

líneas

CSS

280

líneas

JavaScript

289

líneas


                <div class="fab-container">
  
  <button class="fab-main" id="fabMain" aria-label="Menú de acciones principales">
    <span class="fab-icon main-icon">+</span>
    <span class="fab-icon close-icon">×</span>
  </button>
  
  
  <div class="fab-menu" id="fabMenu">
    <button class="fab-item" data-action="message" aria-label="Enviar mensaje">
      <span class="fab-icon">💬</span>
      <span class="fab-tooltip">Mensaje</span>
    </button>
    
    <button class="fab-item" data-action="call" aria-label="Hacer llamada">
      <span class="fab-icon">📞</span>
      <span class="fab-tooltip">Llamar</span>
    </button>
    
    <button class="fab-item" data-action="email" aria-label="Enviar correo">
      <span class="fab-icon">✉️</span>
      <span class="fab-tooltip">Email</span>
    </button>
    
    <button class="fab-item" data-action="share" aria-label="Compartir contenido">
      <span class="fab-icon">🔗</span>
      <span class="fab-tooltip">Compartir</span>
    </button>
  </div>
  
  
  <div class="fab-overlay" id="fabOverlay"></div>
</div>

              
33líneas
1065caracteres
HTMLIdioma

Fragmentos de Código Relacionados

Explora packs de plantillas

¿Necesitas bloques más grandes? Descubre landings y colecciones de componentes.

Abrir la biblioteca de plantillas ->