const currCal = 10;
const percentageCal = 10;
return (
<div>
<Gauge
value = {percentageCal}
width = {250}
height = {250}
startAngle = {0}
endAngle = {360}
innerRadius = "95%"
outerRadius = "100%"
valueMin = {0}
sx = {{
[`& .${gaugeClasses.valueText}`]: {
fontSize: 30,
transform: "translate(0px, 0px)",
},
}}
text = {() => {
return `${currCal} \n calories`;
}}
/>
</div>
);
Я пытаюсь стилизовать компонент Gauge так, чтобы у меня currCal имел размер шрифта 30, а «калории» имели меньший размер шрифта — 20. Есть ли способ сделать это? Я пробовал использовать компонент «Типография», но он не работает, потому что я думаю, что для текста требуется строка.
Есть ли у кого-нибудь идеи, как это сделать? Спасибо!





В вашем случае, если мы проверим DOM, мы увидим 2 элемента tspan благодаря \n в text. Мы можем использовать селекторы этих элементов, чтобы найти обходное решение, подобное этому:
sx = {{
[`& .${gaugeClasses.valueText}`]: {
fontSize: 30,
transform: 'translate(0px, 0px)',
'& tspan:last-of-type': {
fontSize: 20,
},
},
}}
Вы можете взглянуть на этот StackBlitz, чтобы увидеть живой рабочий пример.