修改Ant Design 按钮的样式

简介: 修改Ant Design 按钮的样式

1. 前言

  1. 前几天问到了 Ant Design 如何修改按钮的样式,比如背景色或字体颜色等怎么操作
  2. 相比于粗暴的 CSS 样式覆盖(也被叫做魔改样式),CSS 变量让我们可以更加优雅自定义组件的样式
  3. css变量基础

  • 先来捋一捋react官方有哪些对 css变量定义的方式
  1. CSS 文件中设置
  2. 直接通过 style 属性设置
  3. 通过全局变量进行设置

2.  在 CSS 文件中设置

  1. 自定义样式className

<Button className='my-button'/>

2.css文件的设置

.my-button {
  --border-radius: 2px;
}

3. 直接通过 style 属性设置

  1. 直接通过组件的 style 属性,简单粗暴,适合小范围的调整:

<Button style={{
  '--border-radius': '2px'
}}/>

4. 通过全局变量进行设置

  1. 也可以"局部性"地进行调整,只需要把对应的 CSS 变量添加到对应的父级节点上

:root:root {
  --adm-button-border-radius: 2px;
}


  • 具体 修改Ant Design 按钮的样式

5.  使用自定义类名


import { Button } from 'antd';
import 'antd/dist/antd.css';
import './CustomButton.css'; // 导入自定义样式文件
const CustomButton = () => {
  return <Button className="custom-button">Custom Button</Button>;
};
export default CustomButton;
  1. CustomButton 组件中使用了 className 属性,并设置为 custom-button,
  2. 然后在 CustomButton.css文件中定义了对应的样式规则

6. 使用内联样式:

  1. 对特定的按钮进行样式修改,也可以使用内联样式的方式直接在组件中设置样式。

import { Button } from 'antd';
const CustomButton = () => {
  const buttonStyle = {
    backgroundColor: 'red',
    color: 'white',
    border: 'none',
    // 更多样式属性...
  };
  return <Button style={buttonStyle}>Custom Button</Button>;
};
export default CustomButton;

7. 使用自定义主题:

  1. 主题定制

8. 如何移除两个汉字之间的空格

  1. 根据 Ant Design设计规范要求,我们会在按钮内(文本按钮和链接按钮除外)只有两个汉字时自动添加空格,如果你不需要这个特性,可以设置 ConfigProviderautoInsertSpaceInButtonfalse

9. 如何避免 300ms 的点击延迟?

  1. 方案-1 head 中添加

<meta name="viewport" content="width=device-width">
  1. 方案-2 增加全局样式

html {
  touch-action: manipulation;
}

参考资料

  1. react FAQ
  2. react css变量

初心

我所有的文章都只是基于入门,初步的了解;是自己的知识体系梳理,如有错误,道友们一起沟通交流;
如果能帮助到有缘人,非常的荣幸,一切为了部落的崛起;
共勉
相关文章
|
存储 JavaScript API
vue3+ant design vue 自定义文件上传和自定义上传进度条
1.关键点是Upload组件中customRequest的API,它能通过覆盖默认的上传行为,可以自定义自己的上传实现(具体可看官方文档); 2.通过在Upload组件中绑定progress实现。 下面是详细代码
3889 0
|
前端开发
前端Vue3使用Moment Timezone处理不同时区时间
认识基本时间表示字符,UTC,GMT等,用 moment-timezone 这个插件来获取时区,同时获取带时区的时间字段,以便后续业务处理。
1316 1
|
前端开发 JavaScript
React项目路由懒加载lazy、Suspense,使第一次打开项目页面变快
本文介绍了在React项目中实现路由懒加载的方法,使用React提供的`lazy`和`Suspense`来优化项目首次加载的速度。通过将路由组件改为懒加载的方式,可以显著减少初始包的大小,从而加快首次加载速度。文章还展示了如何使用`Suspense`组件包裹`Switch`来实现懒加载过程中的fallback效果,并提供了使用前后的加载时间对比,说明了懒加载对性能的提升作用。
1079 2
React项目路由懒加载lazy、Suspense,使第一次打开项目页面变快
|
安全 Java 数据安全/隐私保护
Spring Security: 深入解析 AuthenticationSuccessHandler
本文深入解析了 Spring Security 中的 `AuthenticationSuccessHandler` 接口,它用于处理用户认证成功后的逻辑。通过实现该接口,开发者可自定义页面跳转、日志记录等功能。文章详细讲解了接口方法参数及使用场景,并提供了一个根据用户角色动态跳转页面的示例。结合 Spring Security 配置,展示了如何注册自定义的成功处理器,帮助开发者灵活应对认证后的多样化需求。
462 2
|
JSON 数据格式
解决报错TypeError: Converting circular structure to JSON --> starting at object with constructor
解决报错TypeError: Converting circular structure to JSON --> starting at object with constructor
在 onerror 事件处理函数中获取错误对象的详细信息
【10月更文挑战第26天】可以在 `onerror` 事件处理函数中全面地获取错误对象的详细信息,从而更有效地进行错误诊断、调试和处理,提高WebSocket应用的稳定性和可靠性。需要注意的是,不同浏览器对错误对象的具体实现和属性支持可能会略有不同,在实际应用中可能需要根据目标浏览器的特性进行适当的兼容性处理。
|
监控 安全 架构师
JVM 17 调优指南:如何进行JVM调优,JVM调优参数
在这篇文章中,我会详细介绍JVM调优的概念、重要性和具体的JVM调优参数。此外,我将提供12个实用的代码示例,每个示例都会包含JVM调优参数和相应的Java代码。JVM调优是调整和配置Java虚拟机(JVM)的过程,以便最大限度地提高应用程序的性能和效率。这涉及到调整内存设置、选择合适的垃圾收集器,以及配置各种性能参数。
1346 0
|
JavaScript
Vue3按钮(Button)
这是一个高度可定制的按钮组件,支持多种属性设置,包括按钮类型、形状、图标、尺寸、背景透明度、波纹颜色、跳转地址、打开方式、禁用状态、加载状态及指示符样式等。预览图展示了不同配置下的按钮样式变化。组件通过Vue实现,并提供了丰富的自定义选项以适应各种场景需求。
1084 1
Vue3按钮(Button)
|
JavaScript 网络架构
vue3 【提效】自动路由(含自定义路由) unplugin-vue-router 实用教程
vue3 【提效】自动路由(含自定义路由) unplugin-vue-router 实用教程
2922 0
vue3 【提效】自动路由(含自定义路由) unplugin-vue-router 实用教程
|
JavaScript
Antd——表单使用自定义正则进行校验
Antd——表单使用自定义正则进行校验
421 0