通过添加 style 属性,我只能更改 Card 组件主体部分的颜色。我怎样才能更改标题部分?
<Card title='Card title' bordered loading={this.onLoading()}
style={{ backgroundColor: '#aaaaaa' }}>
<Row type='flex' justify='center'>
<h1>Card content</h1>
</Row>
</Card>
以下内容对我有用。我必须删除整个卡片的背景颜色,并为头部和正文内容设置不同的背景颜色:
<Card
title="Track title"
style={{backgroundColor: 'rgba(255, 255, 255, 0.0)', border: 0 }}
headStyle={{backgroundColor: 'rgba(255, 255, 255, 0.4)', border: 0 }}
bodyStyle={{backgroundColor: 'rgba(255, 0, 0, 0.4)', border: 0 }}
>
<Card.Meta
description="Track author"
/>
</Card>
结果:
希望有帮助!
适用于 antd 4.x 版本
您可以使用
headStyle
和 bodyStyle
属性来更改背景颜色
<Card
title="Card title"
headStyle={{ backgroundColor: '#5c6cfa', color: '#ffffff' }}
bodyStyle={{ backgroundColor: '#a9bbff' }}
bordered={false}
style={{ width: 300 }}
>
<p>Card content</p>
<p>Card content</p>
<p>Card content</p>
</Card>
或
可以自定义css类
.ant-card-head {
background: #5c6cfa;
color: #ffffff;
}
.ant-card-body {
background: #a9bbff;
}
截图:
最后我别无选择,只能使用 css 来解决这个问题。 antd卡的结构是这样的
<div class="ant-card ant-card-bordered">
<div class="ant-card-head" \>
<div class="ant-card-body" \>
并且 .ant-card-head 的背景样式为#fff。
如果我像
<Card style={{background:"#aaa"}}
那样做某事,它将覆盖.ant-card类。如果我这样做<Card bodyStyle={{background:"#aaa"}}
,它将覆盖 .ant-card-body 类,并且我找不到任何直接方法来覆盖 .ant-card-head 类,所以我最终使用 css 来设置 .ant-没有卡体背景,它就可以工作。
对于 ant design 的新版本(截至 2024 年 9 月),它变得更容易:
<Card styles={{
body:{/* regular css style */},actions:{},cover:{},footer:{},header:{},extra:{},title:{},
}}>
</Card>
也许按照
文档使用
ConfigProvider
:
<ConfigProvider theme={{
...,
components: {
Card: {
colorBgContainer: '#16191E'
}
}
/>