[CSS] 목록, 테이블 관련 속성
목록과 테이블 관련 속성들은 HTML의 목록 및 표 요소의 시각적 표현과 레이아웃을 제어하는 데 사용됩니다. 이 속성들을 통해 목록과 표의 스타일을 다양하게 조정할 수 있습니다.
[CSS] 목록, 테이블 관련 속성
CSS 목록, 테이블 속성
#01. 목록 스타일 속성 (List Style)
HTML의 순서 없는 목록(<ul>
)과 순서 있는 목록(<ol>
)의 스타일을 제어하는 속성들이다.
속성 | 설명 |
---|---|
list-style-type | 목록 마커의 종류 지정 • none: 마커 없음 • disc: 검은 원(기본값, ul) • circle: 빈 원 • square: 검은 사각형 • decimal: 숫자(기본값, ol) • lower-roman: 소문자 로마숫자 • upper-roman: 대문자 로마숫자 • lower-alpha: 소문자 알파벳 • upper-alpha: 대문자 알파벳 |
list-style-position | 목록 마커의 위치 지정 • outside(기본값): 마커가 목록 항목 바깥쪽에 위치 • inside: 마커가 목록 항목 안쪽에 위치하여 텍스트와 함께 정렬 |
list-style-image | 목록 마커를 사용자 정의 이미지로 대체 • none(기본값): 이미지 사용 안함 • url(“이미지경로”): 지정된 이미지를 마커로 사용 |
list-style | 일괄표현 속성 • [list-style-type] [list-style-position] [list-style-image] 순서로 지정하며 필요 없는 항목은 생략 가능 • ex) list-style: circle inside url(“dot.png”); |
실습: /11-CSS-목록,테이블-속성/01-list-style.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<!DOCTYPE html>
<html lang="ko" translate="no">
<head>
<meta charset="UTF-8">
<meta name="google" content="notranslate" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>01-list-style</title>
<style>
body {
font-size: 24px;
line-height: 150%;
font-weight: bold;
}
.list1 {
list-style-type: upper-roman;
list-style-position: inside;
}
.list2 {
list-style-type: lower-alpha;
list-style-position: outside;
}
.list3 {
list-style-image: url("img/dot.png");
}
.list4 {
.circle {
list-style-type: circle
}
.disc {
list-style-type: disc
}
.square {
list-style-type: square
}
.decimal {
list-style-type: decimal
}
.lower-roman {
list-style-type: lower-roman
}
.upper-roman {
list-style-type: upper-roman
}
.lower-alpha {
list-style-type: lower-alpha
}
.upper-alpha {
list-style-type: upper-alpha
}
.none {
list-style-type: none
}
}
</style>
</head>
<body>
<h1>목록 전체에 대한 스타일 적용</h1>
<h2>upper-roman, inside</h2>
<ul class="list1">
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
<li>jQuery</li>
<li>React</li>
</ul>
<h2>lower-alpha, outside</h2>
<ul class="list2">
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
<li>jQuery</li>
<li>React</li>
</ul>
<h3>list-image</h3>
<ul class="list3">
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
<li>jQuery</li>
<li>React</li>
</ul>
<h3>list-item에 개별 스타일 지정</h3>
<ul class="list4">
<li class="circle">circle</li>
<li class="disc">disc</li>
<li class="square">square</li>
<li class="decimal">decimal</li>
<li class="lower-roman">lower-roman</li>
<li class="upper-roman">upper-roman</li>
<li class="lower-alpha">lower-alpha</li>
<li class="upper-alpha">upper-alpha</li>
<li class="none">none</li>
</ul>
</body>
</html>
#02. 테이블 스타일 속성 (Table Style)
HTML 테이블(<table>
)의 외형과 레이아웃을 제어하는 속성들이다.
속성 | 설명 |
---|---|
caption-side | 테이블 캡션(<caption> )의 위치 지정• top(기본값): 테이블 위쪽 • bottom: 테이블 아래쪽 |
border-collapse | 테이블 테두리 표시 방식 지정 • separate(기본값): 각 셀이 독립적인 테두리를 가짐 • collapse: 인접한 셀들의 테두리를 합쳐서 하나의 선으로 표시 |
border-spacing | 셀 간의 간격 지정 (border-collapse가 separate일 때만 적용) • 값 하나: 수평, 수직 간격을 동일하게 설정 • 값 두 개: 첫 번째는 수평, 두 번째는 수직 간격 |
empty-cells | 빈 셀의 표시 여부 지정 (border-collapse가 separate일 때만 적용) • show(기본값): 빈 셀도 테두리와 배경 표시 • hide: 빈 셀의 테두리와 배경을 숨김 |
대부분 테이블은
border-collapse
를collapse
로 지정하고 사용하기 때문에 border-spacing과 empty-cells는 필요 없는 속성이라고 봐도 무방함
실습: /11-CSS-목록,테이블-속성/02-table.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<!DOCTYPE html>
<html lang="ko" translate="no">
<head>
<meta charset="UTF-8">
<meta name="google" content="notranslate" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>02-table</title>
<style>
.mytable {
/* 표 캡션 위치 */
caption-side: bottom;
/* 표 테두리는 검은 색 실선으로 */
border: 1px solid black;
/* 표 테두리를 1줄로 그리기 */
border-collapse: collapse;
th {
background-color: #d5d5d5;
}
td,
th {
/* 셀 테두리는 검은 색 점선으로 */
border: 1px solid black;
/* 셀 테두리와 내용 사이의 여백 */
padding: 10px;
/* 셀 내용 가운데 정렬 */
text-align: center;
}
}
</style>
</head>
<body>
<h1>상품 구성</h1>
<table class="mytable">
<caption>선물용과 가정용 상품 구성</caption>
<thead>
<tr>
<th>용도</th>
<th>중량</th>
<th>갯수</t>
<th>가격</th>
<th>비고</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="2">선물용</td>
<td>3kg</td>
<td>11~16과</td>
<td>35,000원</td>
<td></td>
</tr>
<tr>
<td>5kg</td>
<td>18~26과</td>
<td>52,000원</td>
<td></td>
</tr>
<tr>
<td rowspan="2">가정용</td>
<td>3kg</td>
<td>11~16과</td>
<td>30,000원</td>
<td></td>
</tr>
<tr>
<td>5kg</td>
<td>18~26과</td>
<td>47,000원</td>
<td></td>
</tr>
</tbody>
</table>
</body>
</html>
#03. 실무 활용 - 게시판 테이블 스타일링
목록과 테이블 속성을 활용한 실제 웹사이트의 게시판 형태 구현 예제이다.
주요 구현 기법
- 테이블 기본 스타일링
border-collapse: collapse
: 테두리 합치기
- 헤더 스타일링
- 배경색과 텍스트 색상으로 구분
- 테두리 제거로 깔끔한 외관
- 호버 효과
tr:hover
: 행에 마우스 올릴 때 배경색 변경- 사용자 경험 향상
- 링크 스타일링
- 기본 링크 스타일 제거
- 상태별 색상 지정 (link, visited, hover, active)
실습: /11-CSS-목록,테이블-속성/03-공지사항.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<!DOCTYPE html>
<html lang="ko" translate="no">
<head>
<meta charset="UTF-8">
<meta name="google" content="notranslate" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>03-공지사항</title>
<style>
a {
&:link, &:visited {
color: #000;
text-decoration: none;
}
&:hover {
color: #00f;
}
&:active {
color: #f00;
}
}
.my-table {
border-collapse: collapse;
font-size: 14px;
text-align: center;
th {
color: #168;
background-color: #f0f6f9;
/* 테두리 속성: 굵기 종류(직선) 색상 */
border: 1px solid #ddd;
/* 테두리와 내용 사이의 여백 크기 */
padding: 10px;
}
tbody {
tr {
&:hover {
background-color: #ecefff;
}
}
td {
/* 테두리 속성: 굵기 종류(직선) 색상 */
border: 1px solid #ddd;
/* 테두리와 내용 사이의 여백 크기 */
padding: 10px;
}
}
}
</style>
</head>
<body>
<!-- 공지사항 게시판 영역 -->
<h2>공지사항</h2>
<!-- 게시판 테이블 -->
<table class="my-table">
<thead>
<tr>
<th>번호</th>
<th>제목</th>
<th>작성자</th>
<th>작성일</th>
<th>조회수</th>
</tr>
</thead>
<tbody>
<tr>
<td>10</td>
<td><a href="#">[안내] 5월 휴무일 공지</a></td>
<td>관리자</td>
<td>2025-04-30</td>
<td>124</td>
</tr>
<!-- 나머지 9개 생략 -->
</tbody>
</table>
</body>
</html>
This post is licensed under CC BY 4.0 by the author.