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

了解更多

创建自定义断点

2024年11月15日

自定义断点定义在breakpoints 你的主题属性中。

components/theme.ts

const config = defineConfig({
  theme: {
    breakpoints: {
      xl: "80em" ,
      "2xl": "96em" ,
      "3xl": "120em" ,
      "4xl": "160em" ,
    },
  },
})

export const system = createSystem(defaultConfig, config)

接下来,将新的 system 添加到你的 components/ui/provider.tsx 文件中

"use client"

import { system } from "@/components/theme"
import {
  ColorModeProvider,
  type ColorModeProviderProps,
} from "@/components/ui/color-mode"
import { ChakraProvider } from "@chakra-ui/react"

export function Provider(props: ColorModeProviderProps) {
  return (
    <ChakraProvider value={system}>
      <ColorModeProvider {...props} />
    </ChakraProvider>
  )
}

然后,运行 CLI typegen 命令来生成类型。

npx chakra typegen ./components/theme.ts

注意:你可能需要重启 TypeScript 服务器才能使类型生效。

使用断点

配置完成后,你可以在编写响应式样式时使用这些断点。

<Box fontSize={{ base: "sm", "4xl": "lg" }}>Hello world</Box>