원인
에서 MDN이 문서 :
[여백 속성]은 테이블 캡션, 테이블 및 인라인 테이블 이외의 테이블 표시 유형을 가진 요소를 제외한 모든 요소에 적용됩니다.
즉, margin
속성은 요소에 적용 할 수 없습니다display:table-cell
.
해결책
border-spacing
대신 속성 사용을 고려하십시오 .
display:table
레이아웃이 있는 부모 요소에 적용되어야합니다 border-collapse:separate
.
예를 들면 다음과 같습니다.
HTML
<div class="table">
<div class="row">
<div class="cell">123</div>
<div class="cell">456</div>
<div class="cell">879</div>
</div>
</div>
CSS
.table {display:table;border-collapse:separate;border-spacing:5px;}
.row {display:table-row;}
.cell {display:table-cell;padding:5px;border:1px solid black;}
가로 및 세로 여백이 다름
Diego Quirós가 언급했듯이이 border-spacing
속성은 수평 및 수직 축에 대해 서로 다른 여백을 설정하기 위해 두 값을 허용합니다.
예를 들어
.table {/*...*/border-spacing:3px 5px;} /* 3px horizontally, 5px vertically */