CSS Table Border 간격 없애기



테이블 셀(td) 간의 간격을 제거하여 테두리가 겹치지 않게 만드는 방법입니다.



핵심 속성


table {
border-collapse: collapse;
border-spacing: 0;
}


border-collapse 속성





separate셀 테두리를 분리 (기본값)
collapse셀 테두리를 합침


전체 예시


/* 테두리 합치기 */
table {
border-collapse: collapse;
border-spacing: 0;
width: 100%;
}

table, th, td {
border: 1px solid #ddd;
}

th, td {
padding: 12px;
text-align: left;
}

/* 헤더 스타일 */
th {
background-color: #f5f5f5;
font-weight: bold;
}

/* 짝수 행 배경 */
tr:nth-child(even) {
background-color: #fafafa;
}

/* 호버 효과 */
tr:hover {
background-color: #f0f0f0;
}


border-spacing 사용 (간격 조절)


/* 셀 사이 간격 지정 */
table {
border-collapse: separate;
border-spacing: 5px; /* 가로 세로 동일 */
}

/* 가로, 세로 다르게 */
table {
border-collapse: separate;
border-spacing: 10px 5px; /* 가로 10px, 세로 5px */
}


테이블 스타일 초기화


/* 완전 초기화 */
table {
border-collapse: collapse;
border-spacing: 0;
margin: 0;
padding: 0;
}

th, td {
margin: 0;
padding: 0;
border: none;
}


반응형 테이블


.table-wrapper {
overflow-x: auto;
}

table {
border-collapse: collapse;
min-width: 600px;
}

/* 모바일에서 가로 스크롤 */
@media (max-width: 768px) {
.table-wrapper {
-webkit-overflow-scrolling: touch;
}
}


둥근 모서리 테이블


/* border-collapse: collapse에서는 border-radius 불가 */
table {
border-collapse: separate;
border-spacing: 0;
border-radius: 8px;
overflow: hidden;
border: 1px solid #ddd;
}

th, td {
border-bottom: 1px solid #ddd;
border-right: 1px solid #ddd;
}

th:last-child, td:last-child {
border-right: none;
}

tr:last-child td {
border-bottom: none;
}