antd(React) 关于自定义Select选择框的样式

这篇博客记录了在React项目中使用antd库时,如何对Select组件进行自定义样式的操作。通过全局样式穿透避免样式冲突,需在antd Select组件外层添加<div>标签。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.做个记录,有时候需要一些自定义样式的时候可以快速更改

【注意】:因为使用的是global样式穿透,为了防止污染其他组件,需要在引用antd组件时再包裹一层<div></div>

.curstom {
  :global {
    //设置未展开时的样式
    .ant-select {
      height: 3.5vh;
      width: 250px;
      border: 2px solid #064c70;
    }

    //设置背景色和居中对齐
    .ant-select-selector {
      height: 3.5vh !important;
      background-color: #013269 !important;
      align-items: center;
    }

    //设置option的样式 文字
    .ant-select-selection-item {
      padding-right: 0;
      text-align: center;
      @include fontSize($select);
      font-family: Source Han Sans CN;
      font-weight: 400;
      color: #16d0ff;
    }
  }
}

//下拉框的样式
.optionCustom {
  width: 200px;
  //background: rgba(22, 208, 255, 0.1) !important;
}

//单个option的样式
.dropdown {
  min-height: 3vh !important;
  line-height: 3vh !important;
  text-align: center;
  @include fontSize($tiptitle);
  font-family: Source Han Sans CN;
  font-weight: 400;
  color: #16ce !important;
}


//改option选中的样式(在chrome中调试时对着NODE点击递归展开即可快速看到变化的class名字)
:global {
  .ant-select-dropdown {
    //设置被选中项目状态
    .ant-select-item-option-selected:not(.ant-select-item-option-disabled) {
      color: rgba(255, 255, 255, 0.85);
      font-weight: 600;
      background-color: #388ed357;
    }
  }
}
### 自定义 Ant Design 日期选择器样式 为了实现对 `Ant Design` 的日期选择器样式自定义,可以采用多种方法来调整其外观。以下是几种可行的方式: #### 方法一:通过 Less 文件覆盖默认主题变量 如果项目允许修改或引入额外的 `.less` 文件,则可以通过创建一个新的 LESS 文件并设置特定于项目的颜色和其他样式属性来进行定制化操作。 ```css /* 创建 antd.customize.less */ @date-picker-border-radius: 8px; @date-picker-bg: #fff; @date-picker-item-height: 32px; // 更多样式可以根据需求添加... ``` 接着,在构建工具配置中指定这个新的 LESS 文件路径以便应用这些更改[^3]。 对于基于 Webpack 构建的应用程序来说,这通常意味着更新 `craco.config.js` 或类似的配置文件以包含上述选项对象内的 `customizeThemeLessPath` 属性指向新创建的主题文件位置。 #### 方法二:动态改变主题插件 利用像 `dynamic-antd-theme` 这样的第三方库可以帮助更灵活地切换整个应用程序的主题而无需重新编译资源文件。该方式支持实时预览不同风格下的界面效果,并且能够方便地在运行时加载不同的 CSS 片段[^2]。 安装完成后,可以在 React 组件内部调用相应 API 来即时生效所选的新配色方案或其他视觉特性。 #### 方法三:直接编辑组件级联样式(CSS) 当只需要做少量改动时,也可以考虑直接向页面注入内嵌样式标签或是编写外部链接形式的标准 CSS 规则集来微调目标控件的表现形式。这种方式简单快捷但可能缺乏灵活性以及维护上的便利性。 ```html <style> .ant-calendar-date { background-color: pink !important; /* 使用!important强制覆盖原有规则 */ } </style> ``` 需要注意的是,这种方法可能会与其他地方已有的样式冲突,因此建议仅限于非常简单的场景下使用。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值