WEB/html,CSS

[html][css] margin 바깥 여백 / 마진 중복

자바칩 프라푸치노 2021. 4. 17. 11:55

margin 

% : 부모 요소의 가로 너비에 영향을 받는다.

<div class="parent">
  <div class="child"></div>
</div>
.parent{
  width:400px;
  height:200px;
  border: 4px solid red;
}
.child{
  width:100px;
  height:100px;
  border: 4px solid;
  margin: 50%;
}

 

margin: 위 우 아래 좌;

margin: 위 (좌,우) 아래;

margin: (위,아래) (좌,우);

margin: (위 아래 좌 우);

 

margin-top / bottom/ right / left 개별 속성도 가능

 

 


마진 중복(병합, Collapse)

마진의 특정 값들이 중복 되어 합쳐지는 현상

1. 형제 요소들의 margin-top과 margin-bottom이 만났을때

2. 부모 요소들의 margin-top과 자식 요소의 margin-top이 만났을때

3. 부모 요소의 margin-bottom과 자식 요소의 margin-bottom이 만났을때

 

각각 마진을 주어도 하나의 값으로 중복되어 나타난다.

<div class="parent">
  <div class="child"></div>
  <div class="child"></div>
  <div class="child"></div>
</div>
.parent{
  
}
.child{
  width:100px;
  height:100px;
  background: tomato;
  float: left;
  margin: 20px;
}

가로로 정렬 되어있을 때에는 이렇게 마진이 더하기가 되는데 

float: left를 제거하면

형제 요소들의 위 아래가 합쳐져서 마진이 20으로 나타난다.

 

 


<div class="parent">
  <div class="child"></div>

</div>
.parent{
  width:300px;
  height:200px;
  background: green;
  
}
.child{
  width:100px;
  height:100px;
  background: tomato;
  position: relative;
  margin-top:50px;
}

child에만 margin-top이 주었는데 전체적으로 margin-top이 50px이 되었다.

따라서 자식과 부모의 위나 아래가 만나있으면 margin은 중복이 일어난다.

 


마진 중복 계산법

둘다 양수이면 : 더 큰 값으로 중복

둘다 음수이면 : 더 작은 값으로 중복

각각 양수와 음수 : 더하기로 중복

728x90