저번에 table을 만드는 방법과 tr, th, td에 대한 기본 정의를 한 적이 있다.
이번에는 table의 태그와 css를 이용해 좀 더 깔끔하게 만들어 볼 것이다.
1.thead와 tbody란?
<thead>와 <tbody>는 단어에서 알 수 있듯이 thead는 html에서 각 영역별로 head,body,footer라고 나누듯
table에서 콘텐츠 영역을 나눠 그룹화시킬 때 사용한다.
그리고 thead와 tbody는 table의 자식요소로써 table 밖에서 사용하면 안됨.
또한, table에서 <caption>, <colgroup>요소 아래에 위치힌다.
2. caption, colgroup이란?
caption와 colgroup 또한 table의 자식요소로써
caption는 테이블 상단에 제목이나 짧은 설명을 붙일 수 있다.
나 같은 경우 웹접근성으로 table이 어떤 폼인지 알려줄 때 사용한다.
colgroup의 경우 table에서 서식 지정을 위해 하나 이상의 col을 그룹으로 묶을 때 사용하며,
각 행이나 셀에 스타일을 반복하지 않고 col의 전체에 스타일을 적용하고 싶을 때 사용한다.
col마다 다른 스타일을 적용하고 싶을 때 사용할 수 있는데 대게 width값을 잡을 때 사용한다.
<table>
<caption>상품코드, 제휴몰명, 상품명, 판매자ID, 판매가, 재고수량, 판매상태, 복사 등 상품조회</caption>
<colgroup>
<col style="width: 3%;">
<col style="width: 35%;">
<col style="width: 5%;">
<col style="width: 7%;">
<col style="width: 5%;">
</colgroup>
<thead>
<tr>
<th>No</th>
<th>제목</th>
<th>작성자</th>
<th>등록일시</th>
<th>조회수</th>
</tr>
</thead>
<tbody>
<tr>
<td>10</td>
<td><a href="#">공지사항 테스트</a></td>
<td>관리자</td>
<td>2021-10-20 15:43:55</td>
<td>299</td>
</tr>
<tr>
<td>9</td>
<td><a href="#">공지사항 테스트</a></td>
<td>관리자</td>
<td>2021-10-20 15:43:55</td>
<td>299</td>
</tr>
<tr>
<td>8</td>
<td><a href="#">공지사항 테스트</a></td>
<td>관리자</td>
<td>2021-10-20 15:43:55</td>
<td>299</td>
</tr>
<tr>
<td>7</td>
<td><a href="#">공지사항 테스트</a></td>
<td>관리자</td>
<td>2021-10-20 15:43:55</td>
<td>299</td>
</tr>
</tbody>
</table>
위의 코드처럼 caption을 이용해 table에 대해 간단하게 설명해주며 colgroup 안에 col을 넣어 width값을 지정해서 주로 사용한다.
3. table 꾸미기
border속성
table에서 깔끔하게 테두리를 주고싶을 때 사용하는데 어디에 주느냐에 따라 그 느낌이 다르다.
table {border:1px solid red;} <!-- 첫번째 -->
table th {border:1px solid red;} <!-- 두번째 -->
table td {border:1px solid red;} <!-- 세번째 -->
첫번째는 table 자체를 border로 감싸 테두리를 줌
두번째와 세번째는 th와 td 각자에 border를 줘 감싸진 곳만 테두리가 생겻으며 띄어진부분이 싫어서 table에 cellspacing="0"을 줌
이번엔 table 자체에 border-collapse 옵션을 줘봤을 때 경우이다.
css로 배경컬러도 줘보고 한번 꾸며봤다ㅎㅎ
table {width: 100%; padding: 10px 0; border-collapse: collapse;}
table th {text-align: center; font-weight: 300; color:#fff; padding: 5px 0; background-color: #652D87;}
table td {text-align: center; padding: 5px 0; border-bottom: 1px solid #B5B5B5;}
위의 css코드가 추가된 부분이며, border-collapse: collapse를 주면 cellspacing="0"과 동일한 효과를 나타낸다.
border-bottom 이렇게 주면 아래 선만 생성되며, border(전체), border-top(위 선만), border-left(왼쪽 선), border-right(오른쪽 선)
이렇게 구분해서 선을 줄 수 도 있다.
선 종류는 solid 외에 dashed(짧은 점선),dotted(점선), double(두 줄선) 등이 있다.
이렇게 table 태그에 대해 알아보았다.
'Study > HTML&CSS' 카테고리의 다른 글
[HTML/CSS]웹 페이지 노출을 높여주는 검색 엔진 최적화 (0) | 2021.12.10 |
---|---|
[HTML/CSS] css :root(가상선택자)를 통해 css 변수 선언 해보자! (0) | 2021.12.10 |
[HTML/CSS] border-radius를 통한 라운딩 처리 (0) | 2021.12.10 |
[HTML/CSS] 가상 클래스 (pseudo class) (0) | 2021.11.29 |
[HTML/CSS] 연결 선택자 속성 선택자 (0) | 2021.11.29 |