HTML/CSS 2.7 · 2부. CSS 기초
배경과 테두리
상자에 색과 선을 입힙니다. 표를 읽기 좋게 만듭니다.
개념 설명
상자를 꾸미는 것들
2.6 에서 상자의 자리를 정했습니다. 이 단원에서는 그 상자에 색과 선을 입힙니다. 표를 읽기 좋게 만드는 것도 여기서 다룹니다.
최소 예제 · 편집 가능
테두리
border 는 두께 · 모양 · 색 셋을 한 줄로
적습니다. 차례는 상관없지만 셋 다 있어야 보입니다.
<p class="a">실선 테두리</p> <p class="b">아래만 선을 그었습니다</p> <p class="c">모서리를 둥글게</p> <p class="d">동그라미</p>
.a {
border: 2px solid #6e56cf; /* 두께 모양 색 */
padding: 8px;
}
/* 한 방향만 그을 수 있습니다 */
.b { border-bottom: 1px dashed #999; padding-bottom: 8px; }
.c {
border: 1px solid #d9cff7;
border-radius: 12px;
padding: 8px 14px;
}
/* 50% 면 동그라미가 됩니다 */
.d {
width: 90px; height: 90px;
border-radius: 50%;
background: #ece7fb;
text-align: center; line-height: 90px;
}
모양에는 solid(실선)·dashed(파선)·
dotted(점선)이 주로 쓰입니다. 모양을 빠뜨리면
선이 아예 나오지 않습니다 — 기본값이 none
이기 때문입니다.
최소 예제 · 편집 가능
배경
<div class="flat">한 가지 색</div> <div class="grad">색이 이어지는 배경</div> <div class="shadow">그림자를 넣었습니다</div>
.flat, .grad, .shadow {
padding: 16px;
margin-bottom: 12px;
border-radius: 8px;
}
.flat { background: #ece7fb; }
/* 방향과 색 둘을 적습니다 */
.grad {
background: linear-gradient(to right, #ece7fb, #fff);
}
/* 가로 세로 번짐 색 */
.shadow {
background: #fff;
box-shadow: 0 2px 8px rgb(0 0 0 / 0.12);
}
box-shadow 는 가로 이동 · 세로 이동 · 번짐 · 색
차례입니다. 그림자는 자리를 차지하지 않아 옆 요소를 밀지 않습니다.
상세 사용법
표 꾸미기
1.4 에서 만든 표는 선이 없었습니다. 표를 읽기 좋게 만드는 데는 세 가지면 충분합니다.
<table> <tr><th>부서</th><th>담당</th></tr> <tr><td>영업부</td><td>홍길동</td></tr> <tr><td>개발부</td><td>김철수</td></tr> </table>
/* ① 칸 사이 틈을 없애 선을 하나로 만듭니다 */ table { border-collapse: collapse; width: 100%; } /* ② 칸마다 선과 여백 */ th, td { border: 1px solid #dee2e6; padding: 8px 12px; text-align: left; } /* ③ 머리 줄 강조 */ th { background: #f4f2fb; }
border-collapse: collapse 를 빼고 다시 그려 보십시오.
칸마다 선이 따로 그려져 두 겹으로 보입니다.
흔한 실수
세 가지
-
테두리 모양을 빠뜨립니다.
border: 1px #999는 아무것도 그리지 않습니다. 기본 모양이none이기 때문입니다. -
테두리가 자리를 차지하는 것을 잊습니다. 마우스를 올렸을 때만 테두리를
주면 그때마다 요소가 밀립니다. 처음부터 투명한 테두리를 두거나
outline을 사용하십시오. -
표에
border-collapse를 지정하지 않습니다. 선이 두 겹으로 보이고 칸 사이가 벌어집니다.
실습 문제
직접 해보기
1. 안내 상자 만들기
난이도 중
왼쪽에만 굵은 색 선이 있고, 옅은 바탕에 모서리가 둥근 안내 상자를 만드십시오.
한 방향만 그리는 것은
border-left 입니다. 모서리는 border-radius 입니다..notice {
border-left: 4px solid #6e56cf;
background: #f4f2fb;
border-radius: 6px;
padding: 12px 16px;
}
요약
정리
border는 두께 · 모양 · 색을 함께 적습니다. 모양이 없으면 그려지지 않습니다.border-radius: 50%는 동그라미를 만듭니다.box-shadow는 자리를 차지하지 않습니다.- 표에는
border-collapse: collapse를 지정합니다.