생활코딩

코스 전체목록

닫기

마진 겹침

마진겹침(margin collapsing) 규칙이란?

마진이 세로 방향으로 겹쳤을 때 마진 값이 더 큰 쪽을 따르게 되는 현상

  • 형제 엘리먼트 간 (예제1)
  • 부모/자식 엘리먼트 간 (예제2)
  • 시각적인 요소가 없는 엘리먼트 자체적으로 (예제3)

예제

example1.html - 형제 엘리먼트 간의 마진겹침 현상 (jsfiddle, github)

<!DOCTYPE html>
<html>
    <head>
    	<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
        <style type="text/css">        
body {
    border:1px solid blue;
}
p {
    margin:20px;
    border:1px solid red;
}
        </style>
    </head>
    <body>
		<p> 생활코딩1 </p>
		<p> 생활코딩2 </p>
		<p> 생활코딩3 </p>
		<p> 생활코딩4 </p>
    </body>
</html>

example2.html - 부모 / 자식 엘리먼트 간의 마진겹침 현상 (jsfiddle, github)

<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
	</head>
	<body style="border:1px solid blue">
		<div style="margin-top:100px;">
			<div style="margin-top:50px; background-color:green">
				마진겹침
			</div>
		</div>
	</body>
</html>
마진겹침이 적용되지 않았을 때 마진겹침이 적용 되었을 때

example3.html - 자기 자신의 마진 겹침, 엘리먼트가 컨텐츠로 시각적인 요소를 가지고 있지 않을 때 그 엘리먼트는 상하 마진 중 더 큰 값이 적용된다. (jsfiddle, github)

<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
	</head>
	<body style="border:1px solid blue">
		<div style="margin-top:20px;margin-bottom:20px;"></div>
		<div style="margin-top:20px">
			마진겹침
		</div>
	</body>
</html>

댓글

댓글 본문
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기