IT 강좌 CSS 기초 029_리스트와 테이블
리스트
CSS에서 list-style-type list-style-image list-style-position 등의 속성을 통해 리스트 스타일을 최적화할 수 있습니다.
리스트 타입
리스트의 타입을 정의하며, 비순서 리스트, 순서 리스트, 정의 리스트를 포함합니다. none 표시 안 함, disc 원점, circle 원, square 정사각형, decimal 숫자, lower-alpha 소문자, upper-alpha 대문자, decimal-leading-zero 숫자 앞에 0 추가, lower-roman 소문자 로마 숫자, upper-roman 대문자 로마 숫자 등이 있습니다.
예제:
.ul-none{ list-style-type: none;}.ul-disc{ list-style-type: disc;}.ul-circle{ list-style-type: circle;}.ul-square{ list-style-type: square;}.ul-decimal{ list-style-type: decimal;}.ul-lower-alpha{ list-style-type: lower-alpha;}.ul-upper-alpha{ list-style-type: upper-alpha;}.ul-decimal-leading-zero{ list-style-type: decimal-leading-zero;}.ul-lower-roman{ list-style-type: lower-roman;}.ul-upper-roman{ list-style-type: upper-roman;} <ul class="ul-none"> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> </ul> <ul class="ul-disc"> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> </ul> <ul class="ul-circle"> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> </ul> <ul class="ul-square"> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> </ul> <ul class="ul-decimal"> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> </ul> <ul class="ul-lower-alpha"> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> </ul> <ul class="ul-upper-roman"> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> </ul> <ul class="ul-decimal-leading-zero"> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> </ul> <ul class="ul-lower-roman"> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> </ul> <ul class="ul-upper-roman"> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> <li>리스트 타입 데모</li> </ul>효과:

리스트 마커
리스트 항목의 마커 위치(내부 또는 외부)를 설정합니다. inside 내부, outside 외부
예제:
.ul-inside{ list-style-position: inside;}.ul-outside{ list-style-position: outside;}li{ background-color: aquamarine;} <ul class="ul-inside"> <li>리스트 마커 데모</li> <li>리스트 마커 데모</li> <li>리스트 마커 데모</li> </ul> <ul class="ul-outside"> <li>리스트 마커 데모</li> <li>리스트 마커 데모</li> <li>리스트 마커 데모</li> </ul>효과:

리스트 이미지
리스트 마커의 이미지를 설정하며, 이미지의 URL 주소로 설정할 수 있습니다.
예제:
.ul-image1{ list-style-image: url("li1.png");}.ul-image2{ list-style-image: url("li2.png");}.ul-image3{ list-style-image: url("li3.png");} <ul class="ul-image1"> <li>리스트 마커 데모</li> <li>리스트 마커 데모</li> <li>리스트 마커 데모</li> </ul> <ul class="ul-image2"> <li>리스트 마커 데모</li> <li>리스트 마커 데모</li> <li>리스트 마커 데모</li> </ul> <ul class="ul-image3"> <li>리스트 마커 데모</li> <li>리스트 마커 데모</li> <li>리스트 마커 데모</li> </ul>효과:
ul을 통해 설정한 크기는 이미지가 늘어나거나 압축될 수 있으므로, 편집 도구를 사용하여 이미지의 원본 크기를 설정하는 것이 좋습니다. 이미지 자체를 변경하지 않고 리스트 항목에서 이미지의 표시 크기를 조정하려면 li의 background-image(배경 이미지)를 사용하여 리스트 이미지를 유연하게 제어할 수 있습니다.
예제:
li{ list-style-type: none; background-image: url("li1.png"); background-size: 10px 10px; background-repeat: no-repeat; background-position: 2px center; padding-left: 20px;} <ul> <li>리스트 마커 데모</li> <li>리스트 마커 데모</li> <li>리스트 마커 데모</li> </ul>효과:
단축 표기법: list-style 속성은 리스트 항목 마커의 세 가지 스타일 속성인 list-style-type, list-style-position, list-style-image를 동시에 설정하는 데 사용됩니다. 값을 생략할 수 있지만 순서는 변경할 수 없습니다.
예제:
ul{ list-style: square inside url('li1.png');}테이블
CSS에서 border 등 여러 속성을 통해 테이블의 외관과 레이아웃을 제어할 수 있습니다.
border
테이블의 테두리를 정의하며, 테두리의 너비, 색상 및 스타일을 설정할 수 있습니다.
예제:
table { border: 1px solid red;}<table> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr></table>효과:

th td
CSS에서 th, td는 테이블의 헤더, 테이블 행 및 테이블 데이터 셀의 스타일을 제어할 수 있습니다.
예제:
table { border: 1px solid red;}th { background-color: #d6d7d8; /* 헤더 배경색 설정 */ color: #333; /* 헤더 텍스트 색상 설정 */ font-weight: bold; /* 헤더 텍스트 굵게 설정 */ padding: 10px; /* 헤더 패딩 설정 */ text-align: center; /* 텍스트 가운데 정렬 설정 */}td { border: 1px solid green; /* 행 사이의 하단 테두리 설정 */ padding: 8px; /* 셀 패딩 설정 */ text-align: center; /* 텍스트 가운데 정렬 설정 */} <table> <tr> <th>테이블 데모 1</th> <th>테이블 데모 2</th> <th>테이블 데모 3</th> <th>테이블 데모 4</th> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> </table>효과:

border-collapse
테이블의 인접 테두리 병합 방식을 제어하는 속성입니다.
- separate: 테두리를 병합하지 않으며, 테이블의 테두리가 독립적으로 유지됩니다.
- collapse: 테두리를 병합하며, 테이블의 테두리가 하나로 합쳐집니다.
예제:
.table1 { border: 2px solid red; border-collapse: separate;}.table2 { border: 2px solid red; border-collapse: collapse;} <table class="table1"> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> </table> <table class="table2"> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> </table>효과:

border-spacing
테이블의 테두리 간격을 정의하며, 테두리 사이의 간격을 설정할 수 있습니다.
예제:
table { border: 1px solid red; border-spacing: 10px;} <table> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> </table>효과:

table-layout
테이블의 레이아웃 방식을 정의합니다.
- auto: 자동 레이아웃, 테이블의 너비와 높이가 콘텐츠에 의해 결정됩니다.
- fixed: 고정 레이아웃, 테이블의 너비와 높이가 지정된 값에 의해 결정됩니다.
예제:
.table1 { border: 1px solid red; table-layout: auto; width: 100%;}.table2 { border: 1px solid red; table-layout: fixed; width: 100%;}th, td { border: 1px solid red;} <table class="table1"> <tr> <td>테이블 데모 1테이블 데모 1테이블 데모 1테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> </table> <br> <table class="table2"> <tr> <td>테이블 데모 1테이블 데모 1테이블 데모 1테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> </table>효과:

caption-side
헤더의 위치를 정의하며, 다음 값을 설정할 수 있습니다.
top: 헤더가 테이블의 상단에 위치합니다.bottom: 헤더가 테이블의 하단에 위치합니다.
예제:
.table1 { border: 1px solid red; caption-side: top;}.table2 { border: 1px solid red; caption-side: bottom;} <table class="table1"> <caption>헤더 데모 ABC123</caption> <tr> <td>테이블 데모 1테이블 데모 1테이블 데모 1테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> </table> <br> <table class="table2"> <caption>헤더 데모 ABC123</caption> <tr> <td>테이블 데모 1테이블 데모 1테이블 데모 1테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> <tr> <td>테이블 데모 1</td> <td>테이블 데모 2</td> <td>테이블 데모 3</td> <td>테이블 데모 4</td> </tr> </table>효과:
