표 데이터 요소들의 집합은 표 형식의 데이터를 처리하기 위해 만들어졌으며,
데이터를 시각적으로 구조화하고 비교할 수 있도록 도와줍니다.
행과 열의 형태로 구성되어 있고, 각 셀에는 특정한 데이터나 정보가 들어가게 됩니다.
일반적으로 데이터베이스나 스프레드시트에서 사용되는 형식이며, HTML의 <table> 요소를 사용하여 웹 페이지에 표현됩니다.
표 데이터 요소를 레이아웃 보조 도구로 사용하는 것은 권장하지 않습니다.
table element- by. UXKM
요약 설명
<table> 요소는 행(row)과 열(column)로 구성된 표 형식의 데이터를 구조화하여 표시할 때 사용하는 시맨틱 태그입니다.
내부에 <tr>(행), <th>(표 제목 셀), <td>(일반 데이터 셀) 등의 요소를 포함하며,
정보를 논리적이고 시각적으로 명확하게 정렬할 수 있습니다.
caption, thead, tbody, tfoot 등과 함께 사용하면
표의 의미와 구조를 더 명확히 전달할 수 있습니다. 이러한 마크업 구성은 접근성과 가독성 향상에도 중요한 역할을 합니다.
주요 역할 및 특징
데이터를 체계적으로 관리 및 표시
행(row)과 열(column)로 구성된 표를 만들어 데이터를 깔끔하고 체계적으로 표현할 수 있습니다.
<tr>(행), <th>(제목 셀),
<td>(데이터 셀)과 함께 사용하여 구조적인 표를 생성할 수 있습니다.
<caption>, <thead>, <tbody>, <tfoot> 요소를 활용한 구분
<caption> : 표의 제목을 지정하거나, 표의 내용의 요약합니다.
<thead> : 표의 머리글(컬럼명)을 정의합니다.
<tbody> : 표의 본문을 정의합니다.
<tfoot> : 표의 바닥글을 정의합니다.
<thead>, <tbody>,
<tfoot> 요소를 사용하여 논리적인 그룹화가 가능합니다.
웹페이지에서 정보의 가독성을 높임
숫자, 통계, 일정, 가격 비교표 등 구조화된 데이터를 효과적으로 표현할 때 적합합니다.
다양한 스타일과 기능 적용 가능
CSS를 활용하여 테이블의 스타일을 조정할 수 있습니다.
border, cellspacing, cellpadding, width
등으로 디자인을 커스터마이징할 수 있습니다.
복합적인 셀 병합 가능 (colspan, rowspan)
colspan : 셀을 가로로 병합
rowspan : 셀을 세로로 병합
CSS 기본 값
<table> 요소의 기본 CSS 값은 브라우저에 따라 다소 차이가 있을 수 있지만, 일반적으로 다음과 같은 기본 스타일이 적용됩니다.
기본 문법
속성
요약 설명
<table> 요소에는 다양한 속성이 존재하지만,
HTML5에서는 스타일 관련 속성(width/height, border,
cellspacing, cellpadding 등)은 CSS로 적용하는 것이 권장됩니다.
디자인과 구조를 분리하여 유지보수를 쉽게 하고, 접근성을 높이기 위함입니다.
<table> 속성 요약
속성명
설명
border
테두리의 두께를 지정
cellpadding
셀 안쪽 여백을 지정
cellspacing
셀 사이 여백을 지정
summary
표의 요약 설명 (접근성)
width / height
테이블의 너비 / 높이를 지정
align
테이블의 정렬 방식 지정
bgcolor
테이블 배경색 지정
[border]
선택 사항<table border="값">
테두리의 두께를 지정합니다. 숫자로 지정하면 px 단위로 해석됩니다.
HTML5에서는 비추천하며, CSS의 border 사용을 권장합니다.
기존 방식(비 권장) :
CSS로 대체(권장) :
[cellpadding]
선택 사항<table cellpadding="값">
안쪽의 여백을 지정합니다. 숫자로 지정하면 px 단위로 해석됩니다.
HTML5에서는 비추천하며, CSS의 padding 사용을 권장합니다.
기존 방식(비 권장) :
CSS로 대체(권장) :
[cellspacing]
선택 사항<table cellspacing="값">
셀 사이의 여백을 지정합니다. 숫자로 지정하면 px 단위로 해석됩니다.
HTML5에서는 비추천하며, CSS의 border-spacing 사용을 권장합니다.
기존 방식(비 권장) :
CSS로 대체(권장) :
[summary]
선택 사항 - 비추천<table summary="값">
테이블의 요약 설명을 제공하여 접근성을 높입니다.
HTML5에서는 summary 속성이 제거되었으며,
<caption> 또는 ARIA 속성을(aria-label, aria-describedby) 권장합니다.
기존 방식(비 권장) :
<caption>으로 대체(권장) :
ARIA 속성 사용(권장) :
[width / height]
선택 사항<table width="값" height="값">
테이블의 너비와 높이를 지정합니다. 픽셀(px) 또는 백분율(%)로 사이즈를 지정합니다.
HTML5에서는 비추천하며, CSS의 width / height 사용을 권장합니다.
기존 방식(비 권장) :
CSS로 대체(권장) :
[align]
선택 사항<table align="값">
테이블의 정렬 방식을 지정합니다. (<left>, <center>, <right>)
HTML5에서는 비추천하며, CSS의 text-align 또는 margin 사용을 권장합니다.
기존 방식(비 권장) :
CSS로 대체(권장) :
[bgcolor]
선택 사항<table bgcolor="값">
테이블의 배경색을 지정합니다. 색상 이름 또는 hex 코드(#FF0000)로 값을 지정합니다.
HTML5에서는 비추천하며, CSS의 background-color 사용을 권장합니다.
기존 방식(비 권장) :
CSS로 대체(권장) :
예제
기본 테이블 예제
셀 병합 예제 (colspan, rowspan)
<thead>, <tbody>, <tfoot>을 활용한 테이블 그룹화
접근성을 고려한 테이블(id, headers, scope, aria-label 사용)
주의사항
HTML 속성(border, cellpadding, cellspacing) 대신
CSS를 활용하여 디자인을 조정하는 것이 더 적절합니다.
테이블은 데이터를 구조적으로 정리하는 용도로만 사용해야 합니다.
웹사이트 레이아웃을 만들 때 <table> 요소를 사용하는 것은 비효율적이며, CSS를 활용한 레이아웃이 더 적절합니다.
표의 크기가 커질 경우 모바일 화면에서 스크롤이 가능하도록 CSS로 overflow-x: auto;를 설정해야 합니다.
UXKM Editor
UXKM Editor로 자유롭게 코드를 연습하세요. 전체 화면 코드 작성 및 코드 다운로드가 가능합니다.