border-collapse
속성의 이해
separate
(분리된 테두리 표) - 테이블의 각 셀이 개별적으로 테두리를 유지하도록 분리해서 표시합니다. (초깃값)collapse
(상쇄된 테두리 표) - 테이블 셀 간의 테두리를 하나로 합쳐 표시합니다.
데모
다음의 CSS 데모로 border-collapse
속성의 사용 방법을 확인해 보세요.
메뉴 | 가격 |
---|---|
라면 | 5,000 |
김밥 | 4,000 |
예제
Cell 1.1 | Cell 1.2 |
Cell 2.1 | Cell 2.2 |
Cell 3.1 | Cell 3.2 |
Cell 1.1 | Cell 1.2 |
Cell 2.1 | Cell 2.2 |
Cell 3.1 | Cell 3.2 |
형식 구문
구문
형식 정의
초깃값 | separate |
---|---|
적용 요소 | <table>
( display 속성이 table 또는, inline-table 로 설정되어 있는 요소) |
상속 | 예 |
애니메이션 | 아니오 |
값
separate |
분리된 테두리 표로 설정합니다.
테이블의 각 셀이 개별적으로 테두리를 유지하도록 분리해서 표시합니다. |
---|---|
collapse |
상쇄된 테두리 표로 설정합니다.
테이블 셀 간의 테두리를 하나로 합쳐 표시합니다. |
border-collapse
와 연관된 CSS 속성과 동작
border-collapse
속성은 테이블의 테두리 렌더링 방식을 변경하며, 여러 CSS 속성과 테이블 요소의 동작에 영향을 미칩니다.
border-collapse: separate
에서만 적용되는 CSS 속성
다음의 속성들은 border-collapse: separate
에서만 적용되고, border-collapse: collapse
에서는 무시됩니다.
border-collapse: collapse
에서만 적용되는 요소 경계 테두리(border
) 설정
테이블과 관련된 다음의 요소들은 border-collapse: collapse
에서만 요소의 테두리(border
)와 관련된 속성들이 적용됩니다. border-collapse: separate
에서는 무시됩니다.
테이블의 경계 테두리 상쇄 규칙(border conflict resolution)
테이블에서 border-collapse: collapse
가 사용될 경우,
요소 경계 테두리(border
)는 각 셀, 행, 행 그룹, 열, 열 그룹, 그리고 테이블 요소 자체에 설정될 수 있습니다.
이때, 요소 경계 테두리는 두께(border-width
), 스타일(border-style
), 색상(border-color
)에 따라 다르게 설정될 수 있습니다.
규칙
border-collapse: collapse
설정으로 인해 인접한 요소 경계 테두리가 상쇄될 때, 어떤 경계 테두리가 선택될까요?
기본적으로 가장 눈에 띄는(eye-catching) 경계 테두리 스타일이 선택됩니다.
하지만, border-style: hidden
이 포함될 경우, 해당 요소 경계 테두리는 무조건 표시되지 않습니다.
border-collapse: collapse
가 적용될 경우, 인접한 요소 경계 테두리 간 상쇄 시 아래와 같은 규칙에 따라 어떤 테두리가 우선되는지 결정됩니다
border-style: hidden
이 최우선입니다.border-style: hidden
은 해당 위치의 모든 다른 경계를 숨깁니다.border-style: none
은 가장 낮은 우선순위를 가집니다. 모든 요소에서border-style: none
일 경우, 해당 경계는 표시되지 않습니다. [단,none
은border-style
의 기본값(초깃값)입니다.]border-style: hidden
과border-style: none
이 아닌 다른border-style
값이 설정되어 있는 경우,
좁은 경계의 두께(border-width
)는 넓은 경계 두께(border-width
)에 의해 상쇄됩니다.- 여러 스타일(
border-style
)의 경계 두께(border-width
)가 동일하다면, 다음 우선순위대로 결정됩니다.
double
>solid
>dashed
>dotted
>ridge
>outset
>groove
>inset
- 두께(
border-width
), 스타일(border-style
)이 동일하지만 색상(border-color
)만 다른 경우, 다음의 우선순위로 경계가 결정됩니다.- 셀 > 행 > 행 그룹 > 열 > 열 그룹 > 테이블
-
같은 타입의 요소 경계 테두리간 상쇄 시, 왼쪽에 있는 요소(테이블의 방향이
ltr
이면 오른쪽,rtl
이면 오른쪽)와 위쪽에 있는 요소가 우선순위가 됩니다.
브라우저 호환성
속성과 값 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
border-collapse
|
1 | 12 | 1 | 1.2 |
collapse
|
80 | 80 | 72 | 13.1 |
separate
|
80 | 80 | 72 | 13.1 |
명세서
명세서 사양 | |
---|---|
border-collapse
|
Cascading Style Sheets Level 2 Revision 2 (CSS 2.2) Specification #propdef-border-collapse |
Border conflict resolution |
Cascading Style Sheets Level 2 Revision 2 (CSS 2.2) Specification #order-conflict-resolution |
같이 보기
- HTML <table> 태그– 올바른 이해와 사용 방법
- CSS border 속성 – 요소에 네 테두리를 설정하는 단축 속성
- CSS border-width 속성 – 요소 테두리의 두께 지정
- CSS border-style 속성 – 요소 테두리의 여부와 스타일 지정
- CSS border-color 속성 – 요소 테두리의 색상 지정
- CSS caption-side 속성 – 테이블 캡션의 위치를 지정
- CSS border-spacing 속성 – 테이블 셀과 셀 사이 간격 지정
- CSS empty-cells 속성 – 테이블의 빈 셀 테두리 및 배경 여부 설정