首页 > 其他分享 >styled-components 怎么定制 antd 组件的样式

styled-components 怎么定制 antd 组件的样式

时间:2024-08-08 14:24:24浏览次数:18  
标签:自定义 styled ant components import antd Card

Card 组件为例说明,要使用 styled-components 定制 Ant Design 的 Card 组件样式,可以按照以下步骤进行:

1. 安装 styled-components

首先,确保你已经安装了 styled-componentsbabel-plugin-styled-components(如果需要):

npm install styled-components
npm install --save-dev babel-plugin-styled-components

2. 引入并使用 styled-components

在你的 React 组件中,使用 styled-components 来创建自定义的 Card 组件样式。

import React from 'react';
import { Card } from 'antd';
import styled from 'styled-components';

const StyledCard = styled(Card)`
  border-radius: 10px; /* 自定义圆角 */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 自定义阴影 */
  .ant-card-head {
    background-color: #f0f2f5; /* 自定义头部背景色 */
  }
  .ant-card-body {
    padding: 24px; /* 自定义内容区域的内边距 */
  }
`;

const App = () => (
  <StyledCard title="自定义卡片标题">
    自定义卡片内容
  </StyledCard>
);

export default App;

3. 结合 ConfigProvider 进行全局定制

如果需要更大范围的主题定制,可以通过 ConfigProvider 提供的 theme 属性进行全局配置。

import React from 'react';
import { ConfigProvider, Card } from 'antd';
import styled from 'styled-components';

const customTheme = {
  token: {
    colorPrimary: '#1DA57A', // 自定义主色
    borderRadius: '10px', // 自定义全局圆角
  },
};

const StyledCard = styled(Card)`
  .ant-card-head {
    background-color: #f0f2f5;
  }
  .ant-card-body {
    padding: 24px;
  }
`;

const App = () => (
  <ConfigProvider theme={customTheme}>
    <StyledCard title="自定义卡片标题">
      自定义卡片内容
    </StyledCard>
  </ConfigProvider>
);

export default App;

通过以上步骤,你可以使用 styled-components 来定制 Ant Design 的 Card 组件样式。这样不仅可以覆盖默认样式,还能结合 ConfigProvider 实现更灵活的全局主题定制[1][2][3][4][5]。

Citations:
[1] https://blog.csdn.net/nico2333/article/details/104217852
[2] https://ant.design/docs/react/customize-theme-cn/
[3] https://ant.design/components/card-cn/
[4] https://blog.csdn.net/chunlijian1152/article/details/100974699
[5] https://juejin.cn/post/7263871284010303546

标签:自定义,styled,ant,components,import,antd,Card
From: https://blog.csdn.net/weixin_41196185/article/details/140995332

相关文章

  • 【Dash】使用 dash_mantine_components 创建图表
    一、StylingYourAppTheexamplesintheprevioussectionusedDashHTMLComponentstobuildasimpleapplayout,butyoucanstyleyourapptolookmoreprofessional.Thissectionwillgiveabriefoverviewofthemultipletoolsthatyoucanusetoenhanc......
  • astro中创建web components
    MyCounter.astro:<script>consttemplate=`<style>*{font-size:200%;}span{width:4rem;display:inline-block;text-align:center;}button{width:4rem;height:4rem;......
  • astro中创建web components
    先创建AstroHeart.astro:<script>//DefinethebehaviourforournewtypeofHTMLelement.classAstroHeartextendsHTMLElement{constructor(){super();letcount=0;constheartButton=this.quer......
  • QStyledItemDelegate 和QTreeView实现鼠标hover消息
    1.QTreeView设置属性mousetracking和tablettracing 重写QStyledItemDelegate类,重写函数booleditorEvent(QEvent*event,QAbstractItemModel*model,constQStyleOptionViewItem&option,constQModelIndex&index);这个函数里可以处理鼠标hover和点击事件;boolTreeTas......
  • antd react form.list动态增减表单项Switch受控
    importReact,{useState}from'react';import{Form,Input,Switch,Button}from'antd';constDemo=()=>{const[switches,setSwitches]=useState({});constonFinish=(values)=>{console.log('Received......
  • AntD单位搜索树两种情况(第一种情况:全局已有数据下过滤、第二种情况:根据输入内容搜索查
    a-tree-select <a-tree-select style="width:260px" v-model:value="formState.userOrgCode" show-search :show-checked-strategy="SHOW_PARENT" :tree-data="TreeData"......
  • react18+antdPro可编辑表格的使用和数据联动
    在项目中经常会遇到这样的需求表格数据是需要编辑的而且有联动的需求,比如结论是单选形式选了存疑的才能选存疑类型然后会在上面tag显示对应的人数存疑>0人就显红,符合要求小于总数就显红而且选择为符合要求后还要清空存疑类型在vue中这很好实现得益于v-model......
  • 自动导入unplugin-auto-import+unplugin-vue-components
    文章介绍接下来将会以Vite+Vue3+TS的项目来举例实现在我们进行项目开发时,无论是声明响应式数据使用的ref、reactive,或是各种生命周期,又或是computed、watch、watchEffect、provide-inject。这些都需要前置引入才能使用:import{ref,reactive,onMounted,watch,provid......
  • Antd报错Cannot read properties of undefined (reading 'createElement')
    1、代码root=createRoot(document.getElementById("materialCertification"));root.render(<DisplayUI/>);2、报错信息logger.js:205Cannotreadpropertiesofundefined(reading'createElement')error@logger.js:205_processError......
  • bug处理--antdesign中umi升级后无法加载子页面
    bug处理--antdesign中umi升级后无法加载子页面historyconstAdmin:React.FC=(props)=>{ const{children}=props; return( <PageHeaderWrapper> {children} </PageHeaderWrapper> );};now升级到Umi4后,之前的一些组件不能用了,获取不到props,props......