有办法改变卡片标题的背景颜色吗?

问题描述 投票:0回答:6

通过添加 style 属性,我只能更改 Card 组件主体部分的颜色。我怎样才能更改标题部分?

<Card title='Card title' bordered loading={this.onLoading()}
    style={{ backgroundColor: '#aaaaaa' }}>
    <Row type='flex' justify='center'>
    <h1>Card content</h1>
    </Row>
</Card>

enter image description here

reactjs antd
6个回答
14
投票

以下内容对我有用。我必须删除整个卡片的背景颜色,并为头部和正文内容设置不同的背景颜色:

<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>

结果:

Result after applying 3 styles

希望有帮助!


5
投票

适用于 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;
}

截图:

Screenshot


3
投票

最后我别无选择,只能使用 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-没有卡体背景,它就可以工作。


2
投票

你有一些错别字。

style:{{backgroundColor:'#aaaaaa'}}
应该是
style={{ backgroundColor: '#aaaaaa' }}
,它对我有用:

enter image description here


使用相同的代码并且确实有效:

enter image description here

enter image description here

我可能需要检查您的页面以了解为什么它不适合您


0
投票

对于 ant design 的新版本(截至 2024 年 9 月),它变得更容易:

<Card styles={{
    body:{/* regular css style  */},actions:{},cover:{},footer:{},header:{},extra:{},title:{},
  }}>
</Card>

0
投票

也许按照

文档
使用ConfigProvider

<ConfigProvider theme={{
   ...,
   components: {
     Card: {
         colorBgContainer: '#16191E'
     }
   }
/>
© www.soinside.com 2019 - 2024. All rights reserved.