交互性
JSX 样式属性,用于增强元素的交互性
强调色
使用accentColor
属性设置浏览器生成的界面控件的强调色。
// hardcoded
<label>
<chakra.input type="checkbox" accentColor="#3b82f6" />
</label>
// token value
<label>
<chakra.input type="checkbox" accentColor="blue.500" />
</label>
属性 | CSS 属性 | 标记类别 |
---|---|---|
accentColor | accent-color | colors |
外观
使用 appearance
属性设置元素的外观。
<chakra.select appearance="none">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</chakra.select>
属性 | CSS 属性 | 标记类别 |
---|---|---|
appearance | appearance | - |
插入符颜色
使用 caretColor
属性设置输入框或文本区域中文本光标(插入符)的颜色。
// hardcoded
<chakra.input caretColor="#3b82f6" />
// token value
<chakra.input caretColor="blue.500" />
属性 | CSS 属性 | 标记类别 |
---|---|---|
caretColor | caret-color | colors |
光标
使用 cursor
属性设置当鼠标指针悬停在元素上时显示的光标图像。
<Box cursor="pointer" />
属性 | CSS 属性 | 标记类别 |
---|---|---|
cursor | cursor | - |
指针事件
使用 pointerEvents
属性控制元素上指针事件的处理方式。
<Box pointerEvents="none">Can't click me</Box>
属性 | CSS 属性 | 标记类别 |
---|---|---|
pointerEvents | pointer-events | - |
调整大小
使用 resize
属性控制元素是否可调整大小,如果可以,则控制其调整方向。
<chakra.textarea resize="both" />
<chakra.textarea resize="horizontal" />
<chakra.textarea resize="vertical" />
属性 | CSS 属性 | 标记类别 |
---|---|---|
resize | resize | - |
滚动条
使用 scrollbar
属性自定义滚动条的外观。
<Box scrollbar="hidden" maxH="100px" overflowY="auto">
Scrollbar hidden
</Box>
滚动行为
使用 scrollBehavior
属性设置滚动框在导航或 JavaScript 代码触发滚动时的行为。
<Box maxH="100px" overflowY="auto" scrollBehavior="smooth">
<div>Scroll me</div>
</Box>
属性 | CSS 属性 | 标记类别 |
---|---|---|
scrollBehavior | scroll-behavior | - |
滚动边距
使用 scrollMargin*
属性设置滚动容器周围的边距。
<Box maxH="100px" overflowY="auto" scrollMarginY="2">
Scrollbar Container with block padding
</Box>
属性 | CSS 属性 | 标记类别 |
---|---|---|
scrollMarginX ,scrollMarginInline | scroll-margin-inline | 间距 |
scrollMarginInlineStart | scroll-margin-inline-start | 间距 |
scrollMarginInlineEnd | scroll-margin-inline-end | 间距 |
scrollMarginY , scrollMarginBlock | scroll-margin-block | 间距 |
scrollMarginBlockStart | scroll-margin-block-start | 间距 |
scrollMarginBlockEnd | scroll-margin-block-end | 间距 |
scrollMarginLeft | scroll-margin-left | 间距 |
scrollMarginRight | scroll-margin-right | 间距 |
scrollMarginTop | scroll-margin-top | 间距 |
scrollMarginBottom | scroll-margin-bottom | 间距 |
滚动内边距
使用 scrollPadding*
属性设置滚动容器内部的内边距。
<Box maxH="100px" overflowY="auto" scrollPaddingY="2">
Scrollbar Container with block padding
</Box>
属性 | CSS 属性 | 标记类别 |
---|---|---|
scrollPaddingX , scrollPaddingInline | scroll-padding-inline | 间距 |
scrollPaddingInlineStart | scroll-padding-inline-start | 间距 |
scrollPaddingInlineEnd | scroll-padding-inline-end | 间距 |
scrollPaddingY , scrollPaddingBlock | scroll-padding-block | 间距 |
scrollPaddingBlockStart | scroll-padding-block-start | 间距 |
scrollPaddingBlockEnd | scroll-padding-block-end | 间距 |
scrollPaddingLeft | scroll-padding-left | 间距 |
scrollPaddingRight | scroll-padding-right | 间距 |
scrollPaddingTop | scroll-padding-top | 间距 |
scrollPaddingBottom | scroll-padding-bottom | 间距 |
滚动捕捉边距
使用 scrollSnapMargin*
属性设置滚动容器周围的边距。
<Box maxH="100px" overflowY="auto" scrollSnapMarginY="2">
Scrollbar Container with block padding
</Box>
属性 | CSS 属性 | 标记类别 |
---|---|---|
scrollSnapMargin | scroll-margin | 间距 |
scrollSnapMarginTop | scroll-margin-top | 间距 |
scrollSnapMarginBottom | scroll-margin-bottom | 间距 |
scrollSnapMarginLeft | scroll-margin-left | 间距 |
scrollSnapMarginRight | scroll-margin-right | 间距 |
滚动捕捉类型
使用 scrollSnapType
属性控制滚动容器中捕捉点的强制严格程度。
<Box maxH="100px" overflowY="auto" scrollSnapType="x">
Scroll container with x snap type
</Box>
值 | |
---|---|
none | none |
x | x var(--scroll-snap-strictness) |
y | y var(--scroll-snap-strictness) |
both | both var(--scroll-snap-strictness) |
滚动捕捉严格程度
使用 scrollSnapStrictness
属性设置元素的滚动捕捉严格程度。这要求 scrollSnapType
设置为 x
、y
或 both
。
其值可以是 mandatory
或 proximity
,并映射到 var(--scroll-snap-strictness)
。
<Box maxH="100px" overflowY="auto" scrollSnapStrictness="proximity">
<Box>Item 1</Box>
<Box>Item 2</Box>
</Box>
属性 | CSS 属性 | 标记类别 |
---|---|---|
scrollSnapStrictness | --scroll-snap-strictness | - |
触摸行为
使用 touchAction
属性控制触摸屏用户如何操作元素的区域
<Box touchAction="none" />
属性 | CSS 属性 | 标记类别 |
---|---|---|
touchAction | touch-action | - |
用户选择
使用 userSelect
属性控制用户是否可以在元素内选择文本。
<Box userSelect="none">
<p>Can't Select me</p>
</Box>
属性 | CSS 属性 | 标记类别 |
---|---|---|
userSelect | user-select | - |
即将改变
使用 willChange
属性提示浏览器元素属性预期会如何改变。
<Box willChange="transform" />
属性 | CSS 属性 | 标记类别 |
---|---|---|
willChange | will-change | - |