我想在顏色下面添加線性漸變作為背景色。可能嗎?
linear-gradient(to right bottom, #430089, #82ffa1)
我用的是材質UI v0.18.7。
<Chip backgroundColor={indigo400} style={{width: 120}}>
<Avatar size={32} color={white} backgroundColor={indigo900}>A</Avatar>
This is a Chip
</Chip>
只需在您的風格中將背景設置為所需的漸變即可:
<Chip style={{width: 120, background: 'linear-gradient(to right bottom, #430089, #82ffa1)'}}>
<Avatar size={32} color={white} backgroundColor={indigo900}>A</Avatar>
This is a Chip
</Chip>
注意,linear-gradient是一個返回圖像而不是顏色的CSS函數。因此,您必須設置background屬性(獲取圖像)而不是backgroundColor屬性(僅獲取顏色)。下面是Mozilla文檔中的一段引文,對這一點進行了更全面的解釋:
因為& lt漸變& gts屬于& ltimage & gt數據類型,它們只能用在& ltimage & gt可以用s。因此,linear-gradient()不能用于背景色和其他使用& ltcolor & gt數據類型。
可以使用類覆蓋material-ui中的任何組件。 嘗試使用以下代碼代替backgroundColor。
//After imports statements
const style={
chip:{
background: 'linear-gradient(to right bottom, #430089, #82ffa1)',
}
}
class Chips extends ...{
render(){
const classes=this.props.classes;
return(
<Chip className={classes.chip}>
<!--Content-->
</Chip>
);
}
}
在材質UI v5中,可以使用sx或styled():
sx道具
<Chip
label="Chip Filled"
sx={{
color: 'white',
background: 'linear-gradient(to right bottom, #36EAEF, #6B0AC9)',
}}
/>
樣式()
type GradientChipProps = {
colors?: string[];
};
const GradientChip = styled(Chip)<GradientChipProps>(({ colors }) => ({
color: 'white',
...(colors && {
background: `linear-gradient(to right bottom, ${colors.join(',')})`,
}),
}));
<GradientChip
label="Chip Outlined"
variant="outlined"
colors={['red', 'pink', 'purple']}
/>
現場演示
相關回答 材質UI組件上的漸變邊框
上一篇c語言封裝json數據
下一篇c語言怎么json數據