Radix Primitives 是无样式的——并且与任何样式解决方案兼容——让您对样式有完全的控制权。
您可以控制所有样式方面,包括功能样式。例如——默认情况下——一个 Dialog Overlay 不会覆盖整个视口。您需要负责添加这些样式,以及任何演示样式。
所有组件及其部分接受一个 className
属性。这个类将传递到 DOM 元素。您可以像预期的那样在 CSS 中使用它。
当组件是有状态的,它们的状态将在 data-state
属性中暴露。例如,当一个 Accordion Item 被打开时,它会包含一个 data-state="open"
属性。
您可以通过定位您提供的 className
来样式化组件部分。
您可以通过定位其 data-state
属性来样式化组件状态。
以下示例使用 styled-components,但您可以使用任何选择的 CSS-in-JS 库。
大多数 CSS-in-JS 库都会导出一个用于传递组件及其样式的函数。您可以直接提供 Radix 原语组件。
您可以通过定位其 data-state
属性来样式化组件状态。
扩展原语的方式与扩展任何 React 组件的方式相同。
Radix Primitives 旨在封装可访问性问题和其他复杂功能,同时确保您对样式保持完全控制。
为了方便,有状态的组件包含一个 data-state
属性。