Computer >> 컴퓨터 >  >> 프로그래밍 >> CSS

CSS border-collapse 속성 완벽 가이드 – 테이블 테두리 축소와 분리 설정법

CSS의 border-collapse 속성은 <table> 요소의 테두리를 인접 셀끼리 공유할지, 아니면 각각 분리해서 표시할지를 지정하는 속성입니다. 이 속성은 separate(분리)와 collapse(축소) 두 가지 값을 가질 수 있습니다.

기본 문법

CSS border-collapse 속성의 기본 문법은 다음과 같습니다.

Selector {
    border-collapse: /*값*/
}

아래 예제들을 통해 border-collapse 속성의 실제 동작을 확인해 보겠습니다.

예제 1: collapse와 separate 비교

<!DOCTYPE html>
<html>
<head>
<style>
#cdemo {
    border-collapse: collapse;
}
#sdemo {
    border-collapse: separate;
}
table {
    display: inline-table;
    margin: 30px;
}
th,td {
    border: 3px ridge orange;
}
td {
    border-color: red;
}
caption {
    box-shadow: 0px -5px 4px 3px green;
}
</style>
</head>
<body>
<h2>직원 기록</h2>
<table id="sdemo">
<caption> 직원 정보 (분리된 테두리) </caption>
<tr>
<th>직원</th>
<th>부서</th>
</tr>
<tr>
<td>Tim</td>
<td>운영팀</td>
</tr>
<tr>
<td>Nathan</td>
<td>재무팀</td>
</tr>
<tr>
<td>John </td>
<td>마케팅팀</td>
</tr>
</table>
<table id="cdemo">
<caption> 직원 정보 (축소된 테두리) </caption>
<tr>
<th>직원</th>
<th>부서</th>
</tr>
<tr>
<td>Tim</td>
<td>운영팀</td>
</tr>
<tr>
<td>Nathan</td>
<td>재무팀</td>
</tr>
<tr>
<td>John </td>
<td>마케팅팀</td>
</tr>
</table>
</body>
</html>

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

CSS border-collapse 속성 완벽 가이드 – 테이블 테두리 축소와 분리 설정법

separate 값이 적용된 첫 번째 테이블은 각 셀의 테두리가 서로 떨어져 있어 이중 선처럼 보이는 반면, collapse 값이 적용된 두 번째 테이블은 인접한 테두리가 하나로 합쳐져 깔끔하고 얇은 선으로 표시됩니다.

예제 2: empty-cells 속성과 함께 사용하기

border-collapse는 empty-cells 속성과 함께 사용하면 빈 셀의 표시 여부까지 제어할 수 있습니다.

<!DOCTYPE html>
<html>
<head>
<style>
table {
    border-collapse: separate;
    empty-cells: hide;
    display: inline-table;
    margin: 30px;
}
table+table {
    border-collapse: collapse;
    empty-cells: hide;
}
td {
    border: 3px ridge lightblue;
}
caption {
    box-shadow: 0px -5px 4px 3px grey;
}
</style>
</head>
<body>
<h2>데모 테이블</h2>
<table>
<caption>데모 캡션</caption>
<tr>
<td>demo</td>
<td>demo</td>
</tr>
<tr>
<td>demo</td>
<td>demo</td>
</tr>
<tr>
<td>demo</td>
<td>demo</td>
<td></td>
</tr>
</table>
<table>
<caption>데모 캡션</caption>
<tr>
<td>demo</td>
<td>demo</td>
</tr>
<tr>
<td>demo</td>
<td>demo</td>
</tr>
<tr>
<td>demo</td>
<td>demo</td>
<td></td>
</tr>
</table>
</body>
</html>

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

CSS border-collapse 속성 완벽 가이드 – 테이블 테두리 축소와 분리 설정법

정리

  • separate: 기본값으로, 각 셀의 테두리가 독립적으로 유지되며 셀 사이에 간격이 생깁니다. 이 경우 border-spacingempty-cells 속성을 함께 사용할 수 있습니다.
  • collapse: 인접한 셀들의 테두리가 하나로 병합되어 단일 선으로 표시됩니다. 대부분의 데이터 테이블에서 더 깔끔한 모양을 만들 때 활용됩니다.

테이블 디자인 시 원하는 스타일에 따라 두 값을 적절히 선택하여 사용하면 됩니다.