Đến nội dung chính

Ô nhập trên app

Ô nhập một dòng cho ngón tay, trên màn hình mà bàn phím che mất nửa.

Nhập liệu

Xem trước trực tiếp

Nguồn

<div class="dc-fieldapp">
  <label class="dc-fieldapp__label" for="dc-fa-name">이름 <span class="dc-fieldapp__req">필수</span></label>
  <input class="dc-fieldapp__input" id="dc-fa-name" type="text" placeholder="홍길동" autocomplete="name" aria-describedby="dc-fa-name-h" />
  <p class="dc-fieldapp__hint" id="dc-fa-name-h">신분증에 적힌 이름 그대로 적습니다.</p>
</div>
.dc-fieldapp { padding:var(--dc-4); background:var(--dc-bg); font-family:var(--dc-font); }
.dc-fieldapp__label { display:flex; align-items:center; gap:var(--dc-2); margin-bottom:var(--dc-2); font-size:14px; font-weight:600; color:var(--dc-text); }
.dc-fieldapp__req { padding:2px var(--dc-2); border-radius:var(--dc-r-full); background:var(--dc-danger-soft); color:var(--dc-danger); font-size:11px; font-weight:700; }
.dc-fieldapp__input { display:block; width:100%; min-height:48px; padding:0 var(--dc-3); border:1px solid var(--dc-line-field); border-radius:var(--dc-r-sm); background:var(--dc-surface); color:var(--dc-text); font-family:var(--dc-font); font-size:16px; }
.dc-fieldapp__input::placeholder { color:var(--dc-text-mute); }
.dc-fieldapp__input:focus { outline:none; border-color:var(--dc-brand); box-shadow:0 0 0 3px var(--dc-brand-soft); }
.dc-fieldapp__input.is-error { border-color:var(--dc-danger); }
.dc-fieldapp__input.is-error:focus { box-shadow:0 0 0 3px var(--dc-danger-soft); }
.dc-fieldapp__hint { margin:var(--dc-2) 0 0; font-size:13px; line-height:1.5; color:var(--dc-text-mute); }
.dc-fieldapp__err { margin:var(--dc-2) 0 0; font-size:13px; font-weight:600; line-height:1.5; color:var(--dc-danger); }
.dc-fieldapp__row { display:flex; gap:var(--dc-2); }
.dc-fieldapp__row .dc-fieldapp__input { flex:1 1 auto; min-width:0; }
.dc-fieldapp__pre { display:inline-flex; align-items:center; min-height:48px; padding:0 var(--dc-3); border:1px solid var(--dc-line-field); border-radius:var(--dc-r-sm); background:var(--dc-sunken); color:var(--dc-text-sub); font-size:16px; white-space:nowrap; }
.dc-fieldapp__area { display:block; width:100%; min-height:96px; padding:var(--dc-3); border:1px solid var(--dc-line-field); border-radius:var(--dc-r-sm); background:var(--dc-surface); color:var(--dc-text); font-family:var(--dc-font); font-size:16px; line-height:1.5; resize:vertical; }
.dc-fieldapp__area::placeholder { color:var(--dc-text-mute); }
.dc-fieldapp__area:focus { outline:none; border-color:var(--dc-brand); box-shadow:0 0 0 3px var(--dc-brand-soft); }

Cách dùng

  • Đặt nhãn phía trên ô để khi gõ vẫn thấy — chữ gợi ý không thay được nhãn
  • Cỡ chữ từ 16px trở lên, nhỏ hơn thì iOS tự phóng to trang khi bấm vào ô
  • Ô chỉ nhận số thì đặt inputmode để bàn phím số hiện ra

Điểm cần lưu ý

  • Không để ô thấp hơn 48px — dải hẹp phía trên bàn phím rất khó bấm
  • Đặt thông báo lỗi ngay dưới ô và nối bằng aria-describedby; chỉ viền đỏ thì không ai đọc được

Tiếp theo