Skip to content

样式与类名 ​

样式入口 ​

样式包 @ew-color-picker/style 提供两个独立入口:

ts
import '@ew-color-picker/style/dist/index.css'
import '@ew-color-picker/style/dist/input-number.css'
文件内容
index.css颜色盒、面板、滑块、输入框、按钮、色板、模式切换器
input-number.css数字输入框组件 .ew-input-number 系列样式

WARNING

两个文件都需要引入。只引入 index.css 时,RGB / HSL 模式下的数字输入框会丢失样式。

类名前缀 ​

所有类名默认以 ew- 开头(如 .ew-color-picker-box、.ew-input-number)。可通过构造选项 prefix 修改 JS 侧前缀,并通过 SCSS 的 $prefix 变量同步修改样式侧前缀:

scss
@use "@ew-color-picker/style/src/index.scss" with ($prefix: "my-");
@use "@ew-color-picker/style/src/input-number.scss" with ($prefix: "my-");

预构建的 dist/*.css 固定为 ew- 前缀;使用预构建产物时请保持默认的 prefix 选项。

其它可用产物:index.min.css、color.css、extend.css、variable.css(以及对应 .min.css)。

CSS 变量 ​

变量默认值说明
--panel-width285px面板宽度(插件会根据滑块方向动态写入)
--panel-height180px面板高度
css
:root {
  --panel-width: 300px;
  --panel-height: 200px;
}

类名一览 ​

容器 ​

类名说明
.ew-color-picker实例最外层包装容器(root 挂载点)
.ew-color-picker-panel-container面板容器(panelContainer 挂载点)
.ew-color-picker-box颜色盒
.ew-color-picker-box-arrow-icon有颜色时的默认箭头图标
.ew-color-picker-box-close-icon无颜色时的默认关闭图标

面板 ​

类名说明
.ew-color-picker-panel颜色面板
.ew-color-picker-panel-dynamic-size动态尺寸面板
.ew-color-picker-white-panel白色渐变层
.ew-color-picker-black-panel黑色渐变层
.ew-color-picker-panel-cursor面板取色光标
.ew-color-picker-bottom-row面板底部行容器

滑块 ​

类名说明
.ew-color-picker-slider滑块容器
.ew-color-picker-slider-bar滑块轨道
.ew-color-picker-slider-thumb滑块手柄
.ew-color-picker-is-horizontal水平方向
.ew-color-picker-is-vertical垂直方向
.ew-color-picker-alpha-slider-bg透明度棋盘背景
.ew-color-picker-alpha-slider-wrapper透明度滑块包装
.ew-color-picker-alpha-slider-thumb透明度手柄

输入与按钮 ​

类名说明
.ew-color-picker-input-container输入区容器
.ew-color-picker-input文本输入框
.ew-color-picker-input-label输入框前缀标签
.ew-color-picker-rgb-r-input / -g-input / -b-input / -a-inputRGB 分量输入
.ew-color-picker-hsl-h-input / -s-input / -l-input / -a-inputHSL 分量输入
.ew-color-picker-drop-btn通用下拉按钮
.ew-color-picker-clear-btn清空按钮
.ew-color-picker-sure-btn确定按钮
.ew-color-picker-mode-up-btn / -mode-down-btn模式切换上下按钮

预定义色板 ​

类名说明
.ew-color-picker-predefine-container色板容器
.ew-color-picker-predefine-color单个色块外层
.ew-color-picker-predefine-color-item颜色填充层
.ew-color-picker-predefine-color-disabled禁用色块
.ew-color-picker-predefine-color-active当前选中色块

数字输入框 ​

类名说明
.ew-input-number数字输入框根节点
.ew-input-number--default / --small / --large尺寸修饰
.ew-input-number--focused / --disabled聚焦 / 禁用态
.ew-input-number__buttons步进按钮容器
.ew-input-number__button--up / --down增加 / 减少按钮
.ew-input-number__input内部 input

状态类 ​

类名说明
.is-readonly颜色盒只读
.is-disabled禁用态(按钮、输入框等)

自定义主题示例 ​

css
/* 修改面板尺寸 */
#picker {
  --panel-width: 300px;
  --panel-height: 200px;
}

/* 自定义颜色盒圆角与边框 */
#picker .ew-color-picker-box {
  border-radius: 10px;
  border: 1px solid rgba(99, 102, 241, 0.45);
}

/* 自定义按钮 */
#picker .ew-color-picker-sure-btn {
  background: #6366f1;
  color: #fff;
  border-radius: 8px;
}

/* 自定义选中色块描边 */
#picker .ew-color-picker-predefine-color-active {
  outline: 2px solid #6366f1;
  outline-offset: 2px;
}

多实例隔离 ​

所有类名都是全局的,但插件内部会通过挂载点限定查询范围。为不同实例追加自定义作用域是最稳妥的方式:

ts
new ewColorPicker({ el: '#picker-a' })
new ewColorPicker({ el: '#picker-b' })
css
#picker-a .ew-color-picker-box { border-radius: 6px; }
#picker-b .ew-color-picker-box { border-radius: 50%; }

TIP

请勿通过 document.querySelector('.ew-color-picker-box') 操作实例 DOM,多实例下会命中第一个实例。请使用 picker.wrapper 或 getMountPoint() 限定范围。

相关链接 ​