下面的示例显示了如何针对TextField
内的不同元素.
- 未嵌套在另一规则中的css属性应用于
FormControl
元素(例如下面的margin
),这是TextField
的最外层元素.
- 可以使用
"& .MuiInputLabel-root": {...}
来确定标签元素的目标.
""& .MuiInputBase-root": {...}
可用于定位Input
元素(相当于通过InputProps
传递的样式).
"& .MuiInputBase-input": {...}
可用于定位input
元素(相当于通过inputProps
传递的样式).
import * as React from "react";
import { styled } from "@mui/material/styles";
import TextField from "@mui/material/TextField";
const StyledTextField = styled(TextField)({
margin: 5,
"& .MuiInputLabel-root:not(.MuiInputLabel-shrink)": {
transform: "translate(14px, 8px) scale(1)"
},
"& .MuiInputLabel-root": {
color: "green"
},
"& .MuiInputLabel-root.Mui-focused": {
color: "purple"
},
"& .MuiInputBase-root": {
color: "red"
},
"& .MuiInputBase-input": {
padding: 8
}
});
export default function BasicTextField() {
return (
<>
<TextField id="outlined-basic" label="Default" />
<StyledTextField id="styled" label="Styled" />
</>
);
}