Button API
API documentation for the React Button component. Learn about the available props, and the CSS API.
Import
import Button from '@mui/material/Button';
// 或
import { Button } from '@mui/material';
Component name
The nameMuiButton
can be used when providing default props or style overrides in the theme.属性
Props of the ButtonBase component are also available.
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
children | node | The content of the component. | |
classes | object | Override or extend the styles applied to the component. See CSS API below for more details. | |
color | 'inherit' | 'primary' | 'secondary' | 'success' | 'error' | 'info' | 'warning' | string | 'primary' | The color of the component. It supports those theme colors that make sense for this component. |
component | elementType | The component used for the root node. Either a string to use a HTML element or a component. | |
disabled | bool | false | 如果被设置为 true ,那么该组件将会被禁用。 |
disableElevation | bool | false | If true , no elevation is used. |
disableFocusRipple | bool | false | If true , the keyboard focus ripple is disabled. |
disableRipple | bool | false | If true , the ripple effect is disabled.⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure to highlight the element by applying separate styles with the focusVisibleClassName . |
endIcon | node | Element placed after the children. | |
fullWidth | bool | false | If true , the button will take up the full width of its container. |
href | string | The URL to link to when the button is clicked. If defined, an a element will be used as the root node. | |
size | 'small' | 'medium' | 'large' | string | 'medium' | The size of the button. small is equivalent to the dense button styling. |
startIcon | node | Element placed before the children. | |
sx | func | object | The system prop that allows defining system overrides as well as additional CSS styles. See the `sx` page for more details. | |
variant | 'contained' | 'outlined' | 'text' | string | 'text' | The variant to use. |
ref
则会被传递到根元素中。Inheritance
While not explicitly documented above, the props of the ButtonBase component are also available on Button. You can take advantage of this to target nested components.CSS
Rule name | Global class | 描述 |
---|---|---|
root | .MuiButton-root | Styles applied to the root element. |
text | .MuiButton-text | Styles applied to the root element if variant="text" . |
textInherit | .MuiButton-textInherit | Styles applied to the root element if variant="text" and color="inherit" . |
textPrimary | .MuiButton-textPrimary | Styles applied to the root element if variant="text" and color="primary" . |
textSecondary | .MuiButton-textSecondary | Styles applied to the root element if variant="text" and color="secondary" . |
outlined | .MuiButton-outlined | Styles applied to the root element if variant="outlined" . |
outlinedInherit | .MuiButton-outlinedInherit | Styles applied to the root element if variant="outlined" and color="inherit" . |
outlinedPrimary | .MuiButton-outlinedPrimary | Styles applied to the root element if variant="outlined" and color="primary" . |
outlinedSecondary | .MuiButton-outlinedSecondary | Styles applied to the root element if variant="outlined" and color="secondary" . |
contained | .MuiButton-contained | Styles applied to the root element if variant="contained" . |
containedInherit | .MuiButton-containedInherit | Styles applied to the root element if variant="contained" and color="inherit" . |
containedPrimary | .MuiButton-containedPrimary | Styles applied to the root element if variant="contained" and color="primary" . |
containedSecondary | .MuiButton-containedSecondary | Styles applied to the root element if variant="contained" and color="secondary" . |
disableElevation | .MuiButton-disableElevation | Styles applied to the root element if disableElevation={true} . |
focusVisible | .Mui-focusVisible | Pseudo-class applied to the ButtonBase root element if the button is keyboard focused. |
disabled | .Mui-disabled | Pseudo-class applied to the root element if disabled={true} . |
colorInherit | .MuiButton-colorInherit | Styles applied to the root element if color="inherit" . |
textSizeSmall | .MuiButton-textSizeSmall | Styles applied to the root element if size="small" and variant="text" . |
textSizeMedium | .MuiButton-textSizeMedium | Styles applied to the root element if size="medium" and variant="text" . |
textSizeLarge | .MuiButton-textSizeLarge | Styles applied to the root element if size="large" and variant="text" . |
outlinedSizeSmall | .MuiButton-outlinedSizeSmall | Styles applied to the root element if size="small" and variant="outlined" . |
outlinedSizeMedium | .MuiButton-outlinedSizeMedium | Styles applied to the root element if size="medium" and variant="outlined" . |
outlinedSizeLarge | .MuiButton-outlinedSizeLarge | Styles applied to the root element if size="large" and variant="outlined" . |
containedSizeSmall | .MuiButton-containedSizeSmall | Styles applied to the root element if size="small" and variant="contained" . |
containedSizeMedium | .MuiButton-containedSizeMedium | Styles applied to the root element if size="small" and variant="contained" . |
containedSizeLarge | .MuiButton-containedSizeLarge | Styles applied to the root element if size="large" and variant="contained" . |
sizeSmall | .MuiButton-sizeSmall | Styles applied to the root element if size="small" . |
sizeMedium | .MuiButton-sizeMedium | Styles applied to the root element if size="medium" . |
sizeLarge | .MuiButton-sizeLarge | Styles applied to the root element if size="large" . |
fullWidth | .MuiButton-fullWidth | Styles applied to the root element if fullWidth={true} . |
startIcon | .MuiButton-startIcon | Styles applied to the startIcon element if supplied. |
endIcon | .MuiButton-endIcon | Styles applied to the endIcon element if supplied. |
iconSizeSmall | .MuiButton-iconSizeSmall | Styles applied to the icon element if supplied and size="small" . |
iconSizeMedium | .MuiButton-iconSizeMedium | Styles applied to the icon element if supplied and size="medium" . |
iconSizeLarge | .MuiButton-iconSizeLarge | Styles applied to the icon element if supplied and size="large" . |
You can override the style of the component using one of these customization options:
- With a global class name.
- With a rule name as part of the component's
styleOverrides
property in a custom theme.