Chroma Panel

搜索文档

查找页面或章节

EN

同时调节饱和度和亮度的二维区域。

ColorArea 是一个方形区域,用来同时选择饱和度和亮度。背景是当前色相,饱和度从左到右递增,亮度从上边缘往下逐渐降低,到底部变为黑色。在区域内任意位置拖动,手柄都会跟着指针走。它不会改变色相,所以要搭配一个调节色相的 ChannelSlider,才能选到所有颜色。

它是组成 React 颜色选择器的部件之一,但没有内置模式用到它:色轮模式用的是 ColorDisc。如果自定义模式要显示方形区域而不是色轮,就用 ColorArea。为了照顾键盘和屏幕阅读器用户,它内部有两个视觉上隐藏的 range 输入框:Saturation 和 Brightness,取值都是 0 到 100,以百分比播报。它会撑满容器的宽度,高度由 height 设置。

结构

import { ColorArea } from "chroma-panel";
 
<ColorArea height={180} />;

只能在面板内使用

内置模式就是由这些基础组件搭起来的。它通过 usePanel() 读取颜色,所以只能放在 ChromaPanel 里使用,通常用在自定义模式中。如果要在面板之外做颜色选择器,请使用颜色 store 和相关 hook

API 参考

Props

PropTypeDefaultDescription
heightnumber150Height in pixels. The width fills the container.
classNamestringClass on the area.
  • ColorDisc:色轮形式的替代方案,色轮模式用的就是它
  • ChannelSlider:在区域旁边加上色相和不透明度滑块
  • 自定义模式:注册一个标签页来放置这个区域
  • 无障碍功能:隐藏的 range 输入框如何配合键盘和屏幕阅读器工作
ColorArea:饱和度与亮度区域 | Chroma Panel