FAB / Speed Dial
Name the main, expand and close actions and reserve space for the floating region. Make secondary actions keyboard-accessible rather than hover-only, and check narrow screens and safe areas.
Installation and initialization
npm install -D tailwindcss@4.2.1 @tailwindcss/cli@4.2.1 daisyui@5.7.47
This is a native CSS plugin, not a React component import. Build Tailwind 4 with the daisyUI plugin and load the generated stylesheet before copying an example. See the included setup guide; do not override an existing project's React or Tailwind versions blindly.
@import "tailwindcss";
@plugin "daisyui" { themes: light --default, dark --prefersdark; }
Source and executable behavior
Source files preserve the original code fences, including original comments and demo strings. The $$ class prefix placeholder must be resolved for your plugin configuration: without a prefix, $$btn becomes btn. Copy every listed source file for the chosen example, combine HTML/CSS/JS appropriately and implement native events. The preview's reviewed event adapters are not a backend or an automatically installed application runtime.
Complete first example
<div class="$$fab">
<!-- a focusable div with tabindex is necessary to work on all browsers. role="button" is necessary for accessibility -->
<div tabindex="0" role="button" class="$$btn $$btn-lg $$btn-circle $$btn-primary">F</div>
<!-- buttons that show up when FAB is open -->
<button class="$$btn $$btn-lg $$btn-circle">A</button>
<button class="$$btn $$btn-lg $$btn-circle">B</button>
<button class="$$btn $$btn-lg $$btn-circle">C</button>
</div>
All runnable examples
FAB and Speed Dial (vertical)
fab-1
npm install -D tailwindcss@4.2.1 @tailwindcss/cli@4.2.1 daisyui@5.7.47
examples/fab/block-0.html
FAB and Speed Dial with SVG icons
fab-2
npm install -D tailwindcss@4.2.1 @tailwindcss/cli@4.2.1 daisyui@5.7.47
examples/fab/block-1.html
FAB and Speed Dial with labels
fab-3
npm install -D tailwindcss@4.2.1 @tailwindcss/cli@4.2.1 daisyui@5.7.47
examples/fab/block-2.html
FAB and Speed Dial with rectangle buttons
fab-4
npm install -D tailwindcss@4.2.1 @tailwindcss/cli@4.2.1 daisyui@5.7.47
examples/fab/block-3.html
FAB and Speed Dial with labels and fab-close button
fab-5
npm install -D tailwindcss@4.2.1 @tailwindcss/cli@4.2.1 daisyui@5.7.47
examples/fab/block-4.html
FAB and Speed Dial with labels and fab-main-action Button
fab-6
npm install -D tailwindcss@4.2.1 @tailwindcss/cli@4.2.1 daisyui@5.7.47
examples/fab/block-5.html
A single FAB (Floating Action Button)
fab-7
npm install -D tailwindcss@4.2.1 @tailwindcss/cli@4.2.1 daisyui@5.7.47
examples/fab/block-6.html
FAB Flower and Speed Dial
fab-8
npm install -D tailwindcss@4.2.1 @tailwindcss/cli@4.2.1 daisyui@5.7.47
examples/fab/block-7.html
FAB Flower without a main action button
fab-9
npm install -D tailwindcss@4.2.1 @tailwindcss/cli@4.2.1 daisyui@5.7.47
examples/fab/block-8.html
FAB and Flower Speed Dial with SVG icons
fab-10
npm install -D tailwindcss@4.2.1 @tailwindcss/cli@4.2.1 daisyui@5.7.47
examples/fab/block-9.html
FAB and Flower Speed Dial with tooltip
fab-11
npm install -D tailwindcss@4.2.1 @tailwindcss/cli@4.2.1 daisyui@5.7.47
examples/fab/block-10.html
Theme, accessibility and verification
Use native data-theme boundaries. Verify keyboard operation, labels, visible focus, disabled/invalid states where applicable, light/dark, mobile and reduced motion. Check your target browser's dialog, popover and CSS feature support. CSS classes do not supply unimplemented JavaScript or business services. Clean up timers and third-party instances; copying a command is not installation success.
Source and license
https://github.com/saadeghi/daisyui/tree/c51f50130ffefb293179e6fce8de7ad3f307e45f
JGuang authors these bilingual practical notes; this is not a claim of translating the complete upstream documentation. Original Markdown, code and CSS remain available in the source viewer. Preserve MIT and separate dependency notices. All native-package notices are included conservatively, including build tools; no build binary or remote demo image is redistributed. Replace remote media with assets you are authorized to use. Commercial templates are outside this integration.