Navbar
Top navigation, typically used as primary navigation in websites or stacked application layouts.
Theming#
The Navbar
component is a multipart component. The styling needs to be
applied to each part specifically.
To learn more about styling multipart components, visit the Chakra UI Component Style page.
Anatomy#
container
inner
brand
content
item
link
Default theme#
import { anatomy } from '@chakra-ui/anatomy'import { createMultiStyleConfigHelpers } from '@chakra-ui/styled-system'const parts = anatomy('navbar').parts('container','inner','brand','content','item','link')const { defineMultiStyleConfig, definePartsStyle } =createMultiStyleConfigHelpers(parts.keys)export const navbarTheme = defineMultiStyleConfig({baseStyle: definePartsStyle({container: {display: 'flex',bg: 'chakra-body-bg',zIndex: 'overlay',width: 'full',height: 'auto',alignItems: 'center',justifyContent: 'center',data: {'& [data-menu-open=true]': {border: 'none',},},},inner: {display: 'flex',alignItems: 'center',justifyContent: 'space-between',width: 'full',height: 'var(--navbar-height)',px: 6,gap: 4,flexWrap: 'nowrap',},toggle: {display: 'flex',alignItems: 'center',justifyContent: 'center',width: 6,height: 'full',outline: 'none',borderRadius: 'sm',},brand: {display: 'flex',alignItems: 'center',justifyContent: 'flex-start',height: 'full',bg: 'transparent',textDecoration: 'none',color: 'inherit',whiteSpace: 'nowrap',boxSizing: 'border-box',},content: {display: 'flex',alignItems: 'center',justifyContent: 'flex-start',flex: 1,listStyle: 'none',},item: {display: 'inline-flex',p: 0,},link: {display: 'inline-flex',alignItems: 'center',justifyContent: 'center',textDecoration: 'none',whiteSpace: 'nowrap',boxSizing: 'border-box',borderRadius: 'md',transitionProperty: 'common',transitionDuration: 'normal',px: 3,h: 8,_hover: {bg: 'gray.100',textDecoration: 'none',_dark: {bg: 'gray.700',},},_active: {fontWeight: 'semibold',},},}),})
Was this helpful?