You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Chakra主题配置中修改伪类属性?

Chakra UI主题配置中Tab组件_selected样式无效的解决方案

你在主题配置里直接给Tab组件设置_selected样式无效,是因为Chakra的组件主题样式需要嵌套在baseStyle、variants这类属性下,不能直接放在组件根对象中。

正确配置方式

全局基础样式(所有Tab生效)

把_selected样式放在baseStyle下,所有Tab组件的选中状态都会应用该样式:

const theme = extendTheme(
    {
        colors: {
            primary: {
                50: '#1f244333',
                100: '#1f244344',
                200: '#1f244388',
                300: '#1f244399',
                400: '#1f2443AA',
                500: '#1f2443EE',
                600: '#1f2443FF',
                700: '#1f2443DD',
                800: '#1f2443EE',
                900: '#1f2443FF',
            },
            secondary: '#5ab03b',
            background: '#f8f8f6',
        },
        components: {
            Tab: {
                baseStyle: {
                    _selected: {
                        color: 'white',
                        borderBottom: '2px solid #54b039',
                    }
                }
            },
        },
    },
    withDefaultColorScheme({
        colorScheme: 'primary',
    })
)

针对特定变体设置

如果你的Tab使用了特定变体(比如默认的outline),可以把样式放在对应变体下:

components: {
    Tab: {
        variants: {
            outline: {
                _selected: {
                    color: 'white',
                    borderBottom: '2px solid #54b039',
                }
            }
        }
    }
}

注意:如果用了自定义变体名称,要替换成你实际使用的变体名。

内容的提问来源于stack exchange,提问作者vaZark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 21:57:28