# makovkastar/floatingactionbutton

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/makovkastar-floatingactionbutton).**

3,997 stars · 806 forks · Java · mit

## Links

- GitHub: https://github.com/makovkastar/FloatingActionButton
- awesome-repositories: https://awesome-repositories.com/repository/makovkastar-floatingactionbutton.md

## Description

FloatingActionButton is a scroll-driven UI controller and mobile-first interface element. It provides a circular button that floats above content and toggles its visibility based on scroll direction to maximize available screen space.

The component functions as a CSS-animated UI element, utilizing stylesheet transitions to handle the visual sliding and fading of the interface controls. It is designed for mobile interfaces to provide quick access to primary actions without obscuring page content.

The system manages visibility by monitoring scroll events on a designated DOM container and detecting the movement vector. It uses attribute-driven configuration to initialize behavior and target bindings, applying state-based class toggling to control the button's presence.

## Tags

### User Interface & Experience

- [Floating Action Buttons](https://awesome-repositories.com/f/user-interface-experience/floating-action-buttons.md) — Provides a circular floating action button that overlays content for quick access to primary actions. ([source](https://github.com/makovkastar/FloatingActionButton/blob/master/README.md))
- [Mobile Component Libraries](https://awesome-repositories.com/f/user-interface-experience/mobile-component-libraries.md) — Implements a mobile-optimized interface element designed for touch interactions and small screens.
- [Mobile UI Widgets](https://awesome-repositories.com/f/user-interface-experience/mobile-ui-widgets.md) — Provides a mobile-optimized floating widget for primary actions that does not obstruct content.
- [Scroll Event Controllers](https://awesome-repositories.com/f/user-interface-experience/scroll-interaction-handlers/scroll-event-controllers.md) — Mechanically controls the visibility of UI elements by monitoring scroll events on a designated container.
- [Visibility Toggles](https://awesome-repositories.com/f/user-interface-experience/visibility-toggles.md) — Toggles the visibility of the floating action button based on scroll offset changes.
- [CSS Transitions](https://awesome-repositories.com/f/user-interface-experience/css-transitions.md) — Uses declarative CSS transition rules to handle the visual sliding and fading of the button.
- [Interactive UI Components](https://awesome-repositories.com/f/user-interface-experience/interactive-ui-components.md) — Builds an interactive UI element that reacts to scroll direction using smooth CSS transitions.
- [Screen Space Optimization](https://awesome-repositories.com/f/user-interface-experience/screen-space-optimization.md) — Maximizes available display area by hiding the action button during downward scrolls.
- [State Class Mapping](https://awesome-repositories.com/f/user-interface-experience/state-class-mapping.md) — Automatically applies CSS classes to the button based on its current visibility and interaction state.
- [Animated UI Components](https://awesome-repositories.com/f/user-interface-experience/ui-component-libraries/animated-ui-components.md) — Ships an animated UI component that uses CSS transitions for sliding and fading effects.

### Part of an Awesome List

- [Scroll-Driven Visibility](https://awesome-repositories.com/f/awesome-lists/devtools/scroll-based-animations/scroll-driven-visibility.md) — Hides and shows the interface element automatically based on whether the user scrolls up or down.
- [Material Design Components](https://awesome-repositories.com/f/awesome-lists/devtools/material-design-components.md) — Floating action button implementation.

### Software Engineering & Architecture

- [Scroll-Direction Triggers](https://awesome-repositories.com/f/software-engineering-architecture/schema-based-state-validation/cross-state-validation/state-change-triggers/scroll-direction-triggers.md) — Detects the movement vector of scroll events to trigger entry or exit animations.

### Web Development

- [Scroll Target Bindings](https://awesome-repositories.com/f/web-development/dom-component-mounting/scroll-target-bindings.md) — Provides a mechanism to bind the button logic to a specific scrollable DOM container.
- [Configuration Attributes](https://awesome-repositories.com/f/web-development/element-attributes/configuration-attributes.md) — Implements component initialization and behavior settings using HTML data attributes.
