You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何使用Sass定制Ant Design主题?及修改输入框hover态边框颜色

嘿,我来帮你解决这两个Ant Design的样式问题!👇

一、用Sass定制Ant Design主题

这是最规范的方式,能统一修改整个组件库的样式,包括你需要的输入框hover态:

  • 首先确保项目已经安装了Sass依赖(Vite/Next.js这类框架默认支持;Create React App需要安装node-sasssass
  • 新建一个自定义主题文件,比如src/styles/custom-theme.scss
  • 在文件里导入Ant Design的主题变量,覆盖你需要的参数,再导入核心样式:
// 导入Ant Design的主题变量文件
@import '~antd/dist/antd.variable.scss';

// 覆盖主题变量,直接把你要的颜色设为输入框hover态的边框色
$input-hover-border-color: #7363dc;
// 还可以顺便修改主色,让整个主题风格统一
$primary-color: #7363dc;

// 导入Ant Design的核心样式
@import '~antd/dist/antd.scss';
  • 最后在项目入口文件(比如src/main.jsxsrc/index.js)里,替换原来的Ant Design CSS导入,改成导入这个定制的Sass文件就行。
二、单独修改输入框hover态边框颜色

如果你暂时不想用主题定制,只想单独改hover态,那问题大概率出在选择器优先级上:

  • Ant Design输入框hover态的对应类是.ant-input:hover,你可以直接写这个选择器,但要注意优先级:
// 直接写可能被原有样式覆盖,试试提高优先级
.ant-input:hover {
  border-color: #7363dc !important;
}
  • 不想用!important的话,可以用更具体的选择器,比如结合父元素:
body .ant-input:hover {
  border-color: #7363dc;
}
  • 如果你的项目用了CSS Modules,要加上:global来修改全局样式:
:global(.ant-input:hover) {
  border-color: #7363dc;
}

内容的提问来源于stack exchange,提问作者ayakhaled

火山引擎 最新活动