본문 바로가기
IT/CSS

CSS - 속성 단위 px, rem, em, % 사용예시, 계산 기준

by marketinkerbell 2022. 4. 28.
반응형

 

 

 

CSS에는 폰트 크기, padding, margin, width 등 다양한 속성들에 사용할 수 있는 여러 단위가 있습니다. 

px, rem, em, % 등이 있습니다. 

 

 

 

 

px

 

px는 절대적인 값입니다. 다른 요소의 값에 영향을 받지 않습니다.

 

px 사용 예시 코드>

.container {
  padding-top: 40px;
  background-color: lime;
}

 

 

 

 

 

rem

 

rem 은 상대적인 값입니다. 어떤 값에 의해 결정 되느냐? <html> 태그의 font-size에 의해 결정됩니다.

3rem은 <html> 태그의 font-size의 3배 크기입니다.

 

rem 사용 예시 코드>

html {
  font-size: 20px;
}

.container {
  padding-top: 3rem; /* html의 font-size * 3 = 60px */
  background-color: blue;
}

 

 

 

 

 

 

em


em도 rem과 마찬가지로 상대적인 값입니다. em은 자기 자신의 font-size를 기준으로 합니다.

3em은 자기 자신의 font-size의 3배 크기입니다. 자기 자신의 font-size를 따로 정해주지 않을 경우, 상위 요소에서 상속받은 값을 기준으로 정해집니다. 

 

em 사용 예시 코드 (자신의 font-size 없는경우) >  

html {
  font-size: 15px;
}

.container {
  /* 자동으로 html의 font-size 15px을 상속받음 */
  padding-top: 2em; /* 자신의 font-size * 2 = 30px */
  background-color: red;
}

 

 


만약 자기 자신에게 정해진 font-size가 있다면 그 값을 기준으로 em이 결정됩니다.
em 사용 예시 코드 (자신의 font-size 있는경우) >  

html {
  font-size: 10px;
}

.container {
  font-size: 20px;
  padding-top: 2em; /* 자신의 font-size * 2 = 40px */
  background-color: red;
}

 

 

 

 

 

 

 

퍼센트 (%)


% 역시 상대적인 값입니다.  %는 어느 항목에서 쓰이냐에 따라 기준이 다르게 적용됩니다.
예를 들어 font-size에서 %가 쓰일 경우에는, 상위 요소의 font-size에 곱해주는 방식으로 계산됩니다.

 % 사용 예시 코드 (font-size의 경우) >

.container {
  font-size: 20px;
  background-color: gray;
}

.text {
  font-size: 150%; /* 상위 요소인 container의 font-size * 1.5 = 30px */
  background-color: skyblue;
  margin: 0;
}



%가 margin이나 padding의 단위로 사용될 경우엔, 상위 요소의 width를 기준으로 계산합니다.

 % 사용 예시 코드 (padding의 경우) >

.container {
  width: 100px;
  background-color: lime;
}

.text {
  padding-left: 30%; /* 상위 요소의 width * 0.3 = 30px */
}

 

 



여기서 주의할 점이 있습니다. 

margin-top이나 padding-bottom 등 세로(상하) 속성을 조절할 때는 상위 요소의 어떤 값을 기준으로 계산할까요?  상위 요소의 height 값을 기준으로 %가 계산될까요?  아닙니다.

이 경우에도 width를 기준으로 계산된다는 점 꼭 기억해두시기 바랍니다. 

 

 

 

 

 

댓글