Skip to content

Fab API

API documentation for the React Fab component. Learn about the available props, and the CSS API.

Import

import Fab from '@material-ui/core/Fab';
// or
import { Fab } from '@material-ui/core';
You can learn about the difference by reading this guide on minimizing bundle size.

Component name

The name MuiFab can be used when providing default props or style overrides in the theme.

Props

NameTypeDefaultDescription
childrennodeThe content of the component.
classesobjectOverride or extend the styles applied to the component. See CSS API below for more details.
color'default'
| 'inherit'
| 'primary'
| 'secondary'
'default'The color of the component. It supports those theme colors that make sense for this component.
componentelementTypeThe component used for the root node. Either a string to use a HTML element or a component.
disabledboolfalseIf true, the component is disabled.
disableFocusRippleboolfalseIf true, the keyboard focus ripple is disabled.
disableRippleboolfalseIf true, the ripple effect is disabled.
hrefstringThe URL to link to when the button is clicked. If defined, an a element will be used as the root node.
size'large'
| 'medium'
| 'small'
'large'The size of the component. small is equivalent to the dense button styling.
variant'circular'
| 'extended'
| string
'circular'The variant to use.

The ref is forwarded to the root element.
Any other props supplied will be provided to the root element (ButtonBase).

Inheritance

While not explicitly documented above, the props of the ButtonBase component are also available on Fab. You can take advantage of this to target nested components.

CSS

Rule nameGlobal classDescription
root.MuiFab-rootStyles applied to the root element.
label.MuiFab-labelStyles applied to the span element that wraps the children.
primary.MuiFab-primaryStyles applied to the root element if color="primary".
secondary.MuiFab-secondaryStyles applied to the root element if color="secondary".
extended.MuiFab-extendedStyles applied to the root element if variant="extended".
circular.MuiFab-circularStyles applied to the root element if variant="circular".
focusVisible.Mui-focusVisiblePseudo-class applied to the ButtonBase root element if the button is keyboard focused.
disabled.Mui-disabledPseudo-class applied to the root element if disabled={true}.
colorInherit.MuiFab-colorInheritStyles applied to the root element if color="inherit".
sizeSmall.MuiFab-sizeSmallStyles applied to the root element if size="small"`.
sizeMedium.MuiFab-sizeMediumStyles applied to the root element if size="medium"`.

You can override the style of the component using one of these customization options: If that isn't sufficient, you can check the implementation of the component for more detail.

Demos