使用高级 Chakra UI 组件更快地构建 💎

了解更多
跳到内容
文档在线演练场指南博客
赞助

响应式设计

了解如何使用 Chakra UI 内置的响应式样式属性创建响应式设计

概览

响应式设计是现代网页开发的一个基本方面,它允许网站和应用程序无缝适应不同的屏幕尺寸和设备。

信息
Chakra 采用移动优先的断点系统,并利用 `min-width` 媒体查询@media(min-width) 当您编写响应式样式时。

Chakra 默认提供五个断点

const breakpoints = {
  base: "0em", // 0px
  sm: "30em", // ~480px
  md: "48em", // ~768px
  lg: "62em", // ~992px
  xl: "80em", // ~1280px
  "2xl": "96em", // ~1536px
}

对象语法

以下是如何在大屏幕上更改文本字体粗细的示例

<Text fontWeight="medium" lg={{ fontWeight: "bold" }}>
  Text
</Text>

或使用基于属性的修饰符

<Text fontWeight={{ base: "medium", lg: "bold" }}>Text</Text>

数组语法

Chakra 还接受数组作为响应式样式的值。在数组中为每个断点传递相应的值。以我们之前的代码为例

<Text fontWeight={["medium", undefined, undefined, "bold"]}>Text</Text>

请注意,使用 undefined 来跳过 mdlg 断点。

断点定位

断点范围

Chakra 提供了一种使用 To 标记来定位断点范围的方法。要在 mdxl 断点之间应用样式,请使用 mdToXl 属性

<Text fontWeight={{ mdToXl: "bold" }}>Text</Text>

此文本只会在 mdxl 断点范围内加粗。

单个断点

要定位单个断点,请使用 Only 标记。以下是如何仅在 lg 断点处应用样式,使用 lgOnly 属性的示例

<Text fontWeight={{ lgOnly: "bold" }}>Text</Text>

在断点处隐藏元素

Chakra 提供了 hideFromhideBelow 工具,用于在特定断点处隐藏元素。

要从 md 断点开始隐藏元素,请使用 hideFrom 工具

<Stack hideFrom="md">
  <Text>This text will be hidden from the `md` breakpoint</Text>
</Stack>

要在 md 断点以下隐藏元素,请使用 hideBelow 工具

<Stack hideBelow="md">
  <Text>This text will be hidden below the `md` breakpoint</Text>
</Stack>

自定义断点

要了解如何自定义断点,请参阅自定义断点部分。

常见问题

为什么断点被转换为 rem

转换为 rem 是有意为之的,并且出于可访问性原因是有益的

  • 用户更改了其浏览器的字体设置
  • 用户放大页面
  • HTML 中的字体大小已更改

在此了解更多:https://zellwk.com/blog/media-query-units/

上一页

Chakra Factory

下一页

CSS 变量