sx 属性是定义具有访问权限的自定义样式的快捷方式
到主题
它可以接受任何 CSS 属性以及来自 MUI 的一些额外属性。
有如下区别:
- shortHand :
padding-top 可以写成pt。
- 访问主题:如果你在材质UI中定义你的主题,sx prop可以直接访问它的属性,如
color。
文档中的示例:
import * as React from 'react';
import { Box, ThemeProvider, createTheme } from '@mui/system';
const theme = createTheme({
palette: {
background: {
paper: '#fff',
},
text: {
primary: '#173A5E',
secondary: '#46505A',
},
action: {
active: '#001E3C',
},
success: {
dark: '#009688',
},
},
});
export default function Example() {
return (
<ThemeProvider theme={theme}>
<Box
sx={{
bgcolor: 'background.paper',
boxShadow: 1,
borderRadius: 2,
p: 2,
minWidth: 300,
}}
>
<Box sx={{ color: 'text.secondary' }}>Sessions</Box>
<Box sx={{ color: 'text.primary', fontSize: 34, fontWeight: 'medium' }}>
98.3 K
</Box>
<Box
sx={{
color: 'success.dark',
display: 'inline',
fontWeight: 'bold',
mx: 0.5,
fontSize: 14,
}}
>
+18.77%
</Box>
<Box sx={{ color: 'text.secondary', display: 'inline', fontSize: 14 }}>
vs. last week
</Box>
</Box>
</ThemeProvider>
);
}
- 网格属性:
gap、rowGap 和 columnGap 在 sx 中可用。
- 响应式样式:可以根据不同的 MUI 设备大小简写定义属性:
borderColor : { xs: "red", sm: "green" },
- 访问子组件:您可以使用嵌套样式更改 chlid 组件的样式:
<TextField
variant="outlined"
sx={{
'& .MuiInputBase-input': {
color: 'white',
},
}}
/>
来源:
1.
2.