Form Layout

Form Layout

폼 필드를 배치하는 레이아웃 유형입니다. form_vertical · form_horizontal · form_inline과 Grid를 조합해 다양한 폼 구조를 구성할 수 있습니다.

세로

레이블이 입력 위에 오는 기본 레이아웃입니다. form_vertical을 명시하거나 form_field만 나열해도 동일하게 동작합니다.

2~20자 이내로 입력해 주세요.

가로

레이블이 왼쪽, 입력이 오른쪽에 배치됩니다. 레이블은 기본적으로 오른쪽 정렬됩니다.

업무용 이메일을 입력해 주세요.

가로 — 레이블 정렬·너비

form_label-align-start로 레이블을 왼쪽 정렬하고, form_label-width-sm · form_label-width-lg로 레이블 너비를 조절합니다.

레이블 왼쪽 정렬 · sm

form_label-align-start · form_label-width-sm

레이블 너비 lg

form_label-width-lg — 라벨 열이 넓어져 입력 시작 위치가 달라집니다.

인라인

검색·필터처럼 필드를 한 줄에 나란히 배치합니다. 공간이 부족하면 자동으로 줄바꿈됩니다.

그리드

Grid 유틸리티와 조합해 2열·3열 폼을 구성합니다. grid_item-span-6이면 12열 기준 한 행에 2개씩 배치됩니다.

너비

폼 필드는 기본적으로 부모 너비 100%를 사용합니다. form_fit을 사용하면 --input-max-width(320px)로 제한할 수 있습니다.

기본 너비

부모 컨테이너 100%

form_fit

최대 320px로 제한

가로 레이아웃

입력 열이 남은 공간을 채움

액션 영역

form_actions로 제출·취소 버튼을 그룹화합니다. 가로 레이아웃에서는 레이블 열 너비만큼 들여쓰기됩니다.

세로

가로

전체 예시

세로 레이아웃 + 그리드 + 액션을 조합한 회원 정보 폼입니다.

영문·숫자 4~16자

클래스 · 속성

Nuxt와 Next 컴포넌트가 렌더하는 OOCSS 클래스와 루트 폼 속성입니다. HTML에서는 의미에 맞는 요소에 필요한 레이아웃 클래스를 직접 조합합니다.

클래스 · 속성 설명
form폼 레이아웃 루트
form_vertical · form_horizontal · form_inline세로·가로·인라인 필드 배치
form_fit · form_compact입력 최대 너비 제한과 좁은 필드 간격
form_label-align-start가로 레이아웃 레이블을 왼쪽 정렬
form_label-width-sm · form_label-width-lg가로 레이아웃 레이블 열 너비
form_field · form_field-control개별 필드 블록과 입력 컨트롤 영역
form_field-label · form_field-hint · form_field-error레이블·도움말·오류 메시지
form_required필수 입력 표시 마크
form_actions제출·초기화·취소 버튼 묶음
form · div제출 기능이 있으면 form, 레이아웃만 필요하면 div 등 의미에 맞는 루트 요소 사용
action · method · enctype · novalidateform 루트에 전달하는 네이티브 제출 속성
submit · reset폼 제출·초기화 이벤트. 필요하면 submit 기본 동작을 제어합니다.
for · id레이블과 입력 컨트롤의 명시적 연결
required · aria-required="true"네이티브 필수 입력과 사용자 정의 컨트롤의 필수 상태
aria-describedby입력 컨트롤과 도움말·오류 메시지 연결

디자인 토큰

토큰 기본값 설명
--form-label-width7.5rem가로 레이아웃 기본 레이블 너비
--form-label-width-sm · --form-label-width-lg5rem · 10rem작은·큰 레이블 열 너비
--form-field-gapvar(--space-lg)필드 사이 세로 간격
--form-inline-field-min-width8rem인라인 필드의 최소 너비
--form-actions-gapvar(--space-sm)액션 버튼 사이 간격
--input-max-width320pxform_fit에서 사용하는 입력 컨트롤 최대 너비