#reactjs #material-ui
#reactjs #материал-пользовательский интерфейс
Вопрос:
Я хочу изменить размер шрифта метки в значке пользовательского интерфейса материала. Я использую style={{ fontSize: "15" }}
, но это влияет только на его дочерний элемент, который является значком.
Код:
<Badge badgeContent={props.cartCount} color="secondary" style={{ fontSize: "15" }}>
<ShoppingCart className={classes.mediumIcon} />
</Badge>
Комментарии:
1. вы можете перезаписать . MuiBadge-класс точек css. Смотрите рабочую копию codesandbox.io/s/material-demo-forked-875uf?file=/demo.js
Ответ №1:
Идеальным способом было бы использовать классы badge
, как указано в документации
import { Badge } from "@material-ui/core";
import { makeStyles } from "@material-ui/core/styles";
import "./styles.css";
const useStyles = makeStyles((theme) => ({
badge: {
fontSize: 30
}
}));
export default function App() {
const classes = useStyles();
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
<Badge
badgeContent={"h"}
color="secondary"
classes={{ badge: classes.badge }}
/>
</div>
);
}
Ответ №2:
Вы можете изменить размер шрифта, как показано ниже. создайте стили с разным размером шрифта в useStyles
const useStyles = makeStyles((theme) => ({
font1: {
fontSize: "1rem"
},
)}
А затем назначьте его Badge
компоненту, как показано ниже
<Badge
classes={{
badge: classes.font1
}}
badgeContent={99}
{...defaultProps}
/>
Ответ №3:
Если вы используете систему mui, это может изменить размер шрифта значка
<Badge
badgeContent={9}
color="error"
overlap="circular"
sx={{ "amp; .MuiBadge-badge": { fontSize: 9, height: 15, minWidth: 15 } }}
>
<IconButton sx={{ p: 0, color: "primary.main" }}>
<Notifications />
</IconButton>
</Badge>
Ответ №4:
Вы можете использовать атрибут componentProps следующим образом (в этом примере изменяется цвет текста в значке, но тот же принцип будет работать для размера шрифта).
<Badge badgeContent={comments} componentsProps={{ root: {style: {color: 'white'}} }}>
<CommentIcon />
</Badge>