콘텐츠로 이동
RefineUI

Navigation Menu

최상위 반응형 헤더 내비게이션 메뉴.

Overview

Machine-readable contract from Component Spec.

component: navigation-menuexport: NavigationMenuversion: 1attributes: data-refineui=navigation-menu

Anatomy

Partdata-refineui
rootnavigation-menu
contentnavigation-menu-content
content_panelnavigation-menu-content-panel
indicatornavigation-menu-indicator
itemnavigation-menu-item
linknavigation-menu-link
listnavigation-menu-list
triggernavigation-menu-trigger

States

ScopeCategoryValues
componentpseudofocus-visible
componentcomponentdata-state: open, closed
componentenvironmentforced-colors, dir

Accessibility

SlotElementRoleRequired attributes
navigation-menu-triggerbutton—aria-expanded: required=true, type: boolean; aria-controls: required=true, type: string
navigation-menu-contentdivregion—

Keyboard

KeyActionNative
Escapeclose—
Enteractivatetrue
Spaceactivatetrue

Focus

SectionPropertyValue
visualrequiredtrue
visualselector:focus-visible

Layout

PropertyValue
directionlogical
rtltrue
npm install @refineui/react @refineui/tokens
import {
NavigationMenu,
NavigationMenuList,
NavigationMenuItem,
NavigationMenuTrigger,
NavigationMenuContent,
NavigationMenuLink
} from "@refineui/react";
<NavigationMenu>
<NavigationMenuList>
<NavigationMenuItem>
<NavigationMenuLink href="/" active>
Home
</NavigationMenuLink>
</NavigationMenuItem>
<NavigationMenuItem>
<NavigationMenuTrigger>Products</NavigationMenuTrigger>
<NavigationMenuContent>
<NavigationMenuLink href="/products/web">Web</NavigationMenuLink>
<NavigationMenuLink href="/products/mobile">Mobile</NavigationMenuLink>
</NavigationMenuContent>
</NavigationMenuItem>
<NavigationMenuItem>
<NavigationMenuLink href="/about">About</NavigationMenuLink>
</NavigationMenuItem>
</NavigationMenuList>
</NavigationMenu>
PropDefaultTypeDescription
value—string제어형 열린 항목 값(빈 문자열 = 닫힘).
defaultValue—string비제어형 초기 열린 항목.
onValueChange—(value: string) => void열린 항목 변경 시 이벤트 핸들러.
delayDuration—number포인터 enter 시 열리기 전 지연(ms).
skipDelayDuration—number열린 상태에서 항목 간 이동 시 지연.
aria-label"Main"string내비게이션 landmark의 접근 가능한 이름.

내비게이션 항목 목록.

PropDefaultTypeDescription
value—string열림 상태용 안정적 id(생략 시 자동 생성).

드롭다운 콘텐츠용 트리거 버튼.

드롭다운 패널 콘텐츠.

상단 직접 링크에는 드롭다운 화살표용 빈 공간을 남기지 않습니다. 모든 상단 항목은 최소 80px 너비와 28px 높이를 공유하므로, 일반적인 레이블 길이에서는 chevron 유무와 관계없이 같은 크기를 유지합니다. 더 긴 레이블은 잘리지 않도록 확장됩니다.

PropDefaultTypeDescription
activefalseboolean현재 페이지를 표시합니다(`aria-current="page"`).

활성 항목 인디케이터(시각적 밑줄).