이미지 비율 맞추는 방법 - max-width, max-height

텍스트는 일반적으로 바뀐 폭에 맞추어 줄바꿈이 되지만, 이미지는 줄바꿈이라는 게 없기 때문에 문제가 생깁니다. 어떤 문제가 발생하는지 살펴보고 해결책을 찾아보겠습니다.
2 min read

이미지 비율 맞추기

텍스트는 일반적으로 바뀐 폭에 맞추어 자동으로 줄바꿈이 되지만, 이미지는 줄바꿈이라는 게 없기 때문에 문제가 생깁니다. 어떤 문제가 발생하는지 살펴보고 해결책을 찾아보겠습니다.

 

이미지 크기를 정하지 않은 경우

  • 이미지의 크기를 정하지 않으면 부모 요소보다 큰 이미지는 부모 요소를 벗어나서 나타납니다.
<div>
  <img src="https://bit.ly/2I4rvsj" alt="">
</div>
div {
  width: 300px;
  border: 2px solid orange;
}

 

  • 이를 해결하는 방법은 max-width 속성을 부여하는 것입니다.
  • 가로 세로 비율에 맞게 크기가 줄어듭니다.
img {
  max-width: 100%;
}

 

이미지 크기를 속성으로 이미 설정한 경우

  • 이미지 크기가 속성으로 이미 설정되어 있으면 max-width 속성을 추가했을 때 가로폭은 줄어들지만 높이는 줄어들지 않고 가로 세로 비율이 맞지 않는 문제가 발생합니다.
<div>
  <img src="//bit.ly/2I4rvsj" alt="" width="540" height="360">
</div>
div {
  width: 300px;
  border: 2px solid orange;
}
img {
  max-width: 100%;
}

 

  • 이를 해결하는 방법은 height 속성값을 auto로 지정해주는 것입니다.
  • 원본 비율에 맞게 높이가 조정됩니다.
img {
  max-width: 100%;
  height: auto;
}

 

이미지 크기를 inline style로 정한 경우

  • 이미지 크기를 inline style로 정하는 경우가 있습니다.
  • 예를 들어 다음처럼 크기를 정하는 것입니다.
<img src="//bit.ly/2I4rvsj" alt="" style="width: 540px; height: 360px;">

 

  • 가로폭은 조정되나 높이가 변하지 않아 비율이 맞지 않게 됩니다.
  • 이런 경우 height 속성 값에 !important를 추가합니다.
img {
  max-width: 100%;
  height: auto !important;
}

 

기타 CSS 참조

You may like these posts

  • 이미지 가운데 정렬하는 방법 이미지를 가운데 정렬하는 방법은 여러 가지가 있습니다. 그 중 자주 사용되는 두 가지를 소개합니다.   방법 1 이미지의 부모 요소에 text-align 속성을 추가하는 방법입니다. <div> …
  • calc() calc()는 괄호 안의 식을 계산한 결과를 속성값으로 사용하게 해주는 함수입니다.   예를 들어 font-size : calc( 10px + 10px ); 는 글자 크기를 20px로 만듭니다.   문법 연산자 +는 덧셈, -는 뺄셈, *는 곱셈, /는…
  • 반응형 레이아웃 모바일 화면을 위해 가로 크기를 100%로 했을 때, 안쪽의 내용이 길어지면 줄바꿈이 되어 크기를 유지하거나 스크롤바가 생깁니다. 하지만 레이아웃이 변경되는 것을 원하지 않을 수도 있습니다. 해결 방법을 아래의 예제를 통해서 살펴보겠습니다.   예제 다음은 표의 최소 가로…
  • clip clip 속성으로 요소의 특정 부분만 나오도록 할 수 있습니다. position 속성값이 absolute 또는 fixed일 때만 적용됩니다.   기본형 clip : auto | shape auto : 요소의 모든 부분이 나옵니다. shape : 특정 부분이 나오도록…
  • 세로 가운데 정렬하는 방법 CSS에서 텍스트의 가로 가운데 정렬은 text-align 속성을 이용합니다. text-align : center; 요소의 가로 가운데 정렬은 margin 속성을 이용합니다. margin-left : auto; margin-right : auto; 세로로 가운데 …
  • 이미지 비율 맞추기 텍스트는 일반적으로 바뀐 폭에 맞추어 자동으로 줄바꿈이 되지만, 이미지는 줄바꿈이라는 게 없기 때문에 문제가 생깁니다. 어떤 문제가 발생하는지 살펴보고 해결책을 찾아보겠습니다.   이미지 크기를 정하지 않은 경우 이미지의 크기를 정하지 않으면 부모 요소보…

Post a Comment