<body>
<div id="container">
<table>
<caption><테이블> 테이블에 대한 설명문구1</caption> <!-- <테이블> ==> <테이블> -->
<tr>
<th width="30%" rowspan="3">여름맞이 바겐세일</th>
<!-- rowspan 은 행병합인데 rowspan="3"은 3개행을 하나로 병합한다.
조심할 것은 밑에 <tr>태그가 바로 나와야 한다. -->
<th width="30%">제품이름과 설명</th>
<th width="20%">개당 가격</th>
<th>박스당 개수</th>
<!-- <th width="20%">박스당 개수</th> --> <!-- 마지막 열은 width="20%" 을 생략해도 된다. -->
</tr>
<tr>
<td class="mycenter">블라우스 - 붉은색 실크</td>
<td class="myright">20,000원</td>
<td class="mycenter">150</td>
</tr>
<tr>
<td class="mycenter">바지 - 검은색 원단</td>
<td class="myright">4,000원</td>
<td class="mycenter">300</td>
</tr>
<tr>
<td colspan="2" class="mycenter">
<span>총액</span>
<span>및</span>
<span>총박스</span>
<span>개수</span>
</td>
<!-- colspan 은 열병합인데 colspan="2" 은 2개열을 하나로 병합한다. -->
<td class="myright">24,000원</td>
<td class="mycenter">450</td>
</tr>
</table>
</div>
</body>
1. colspan , rowspan
- rowspan : 행병합. rowspan="3"은 3개행을 하나로 병합한다.
조심할 것은 밑에 <tr>태그가 바로 나와야 한다. - colspan : 열병합. colspan="2" 은 2개열을 하나로 병합한다.
- border-collapse: collapse : 표(table)의 테두리와 셀(td)의 테두리 사이의 간격을 없앤다. 즉, 두줄로 겹치는 부분은 한줄로 나오게 한다.
- <tr> : table row 의 약자로, 가로줄(행) 생성을 의미한다. 자동적으로 가운데정렬, 폰트 볼드체로 설정된다.
- <th> : table head 의 약자로, 표의 제목을 의미한다. 자동적으로 가운데정렬, 폰트 볼드체로 설정된다.
- <td> : table data 의 약자로, 셀 생성을 의미한다. 자동적으로 왼쪽정렬, 폰트 기본굵기로 설정된다.
2. vertical-align , text-align
<caption><테이블> 테이블에 대한 설명문구1</caption>
<caption align="bottom"><테이블> 테이블에 대한 설명문구2</caption> <!-- align="bottom" 기본값이 "top"인데 "bottom" 으로 변경한다. -->
- <caption> : 표의 설명 또는 제목 태그
- align="bottom" : 표의 제목을 표시하는 속성 align="top"이 기본값인데, "bottom" 으로 변경한 것이다.
- vertical-align : 세로기준으로 정렬한다. 즉, 위쪽(top) 가운데(middle) 아래쪽(bottom) 정렬이다. 가운데(middle) 정렬은 기본값이다.
- text-align : 가로기준으로 정렬한다. 즉, 왼쪽(left) 가운데(center) 오른쪽(right) 정렬이다. 왼쪽(left) 정렬은 기본값이다.
3. :first-child , :last-child , :nth-child(숫자) / ~, +
tr > th:first-child ~ th {
background-color: yellow;
height: 50px;
}
-----------------------------------------------------------------------------------------------------
<tr>
<th width="30%" rowspan="3">여름맞이 바겐세일</th>
<!-- rowspan 은 행병합인데 rowspan="3"은 3개행을 하나로 병합한다.
조심할 것은 밑에 <tr>태그가 바로 나와야 한다. -->
<th width="30%">제품이름과 설명</th>
<th width="20%">개당 가격</th>
<th>박스당 개수</th>
<!-- <th width="20%">박스당 개수</th> --> <!-- 마지막 열은 width="20%" 을 생략해도 된다. -->
</tr>
- tr > th:first-child 은 "여름 맞이 바겐세일" 의 th 태그인데,
tr > th:first-child ~ : "여름 맞이 바겐세일" 의 th 태그 다음에 오는(자신 제외) 모든 형제태그(형제엘리먼트, 형제노드)를 말한다. 해당코드에서는 tr > th 태그 밖에 존재하지 않는다. 따라서 yellow 컬러로 표시된 셀이 없다.
- tr > th:first-child ~ th : "여름 맞이 바겐세일" 의 th 태그 다음에 오는(자신 제외) 모든 형제태그(형제엘리먼트, 형제노드) 중에 th 태그만을 가리키는 선택자(selector)이다.
tr:last-child > td:first-child > span:first-child + span { /* tr:last-child > td:first-child > span:first-child 를 제외한 다음에 오는 모든 형제태그 중에서도 자신 바로 밑에 오는 span 태그를 가리킨다. */
color: red;
}
-----------------------------------------------------------------------------------------------------
<tr>
<td colspan="2" class="mycenter">
<span>총액</span>
<span>및</span>
<span>총박스</span>
<span>개수</span>
</td>
<!-- colspan 은 열병합인데 colspan="2" 은 2개열을 하나로 병합한다. -->
<td class="myright">24,000원</td>
<td class="mycenter">450</td>
</tr>
- tr:last-child > td:first-child > span:first-child 은 바로 <span>총액</span> 을 가리키는 선택자(selector)인데,
tr:last-child > td:first-child > span:first-child + span : <span>총액</span> 엘리먼트의 바로 밑 형제태그인 span 엘리먼트를 말한다. (바로 밑 동생의 엘리먼트를 말한다.)
'Langauge > HTML, CSS' 카테고리의 다른 글
[HTML, CSS] position 속성 (0) | 2022.08.10 |
---|---|
[HTML, CSS] 이미지(img) 속성 (0) | 2022.08.09 |
[HTML, CSS] a 태그(링크태그), form 태그 (0) | 2022.08.09 |
[HTML, CSS] semantic태그/ CSS 기본속성 (0) | 2022.08.08 |
[CSS] display속성- id, class /margin, padding 태그 (0) | 2022.08.07 |