CSS3에서 백그라운드를 처리함에 있어서 추가적인 요소가 있습니다. 바로 contain과 cover 입니다. 이 각각의 의미는 한글로 풀이를 하자면, 원본비율과 중앙비율이라고 말씀드릴 수 있습니다. 현재 티스토리에서 제공하는 티에디션이라고 하는 꾸미기 플랫폼에 보시면 미리보기 썸네일 이미지를 원본비율, 중앙비율, 상단, 하단 등 기준에 맞춰서 보여지게 설정할 수 있는데, 여기에서 쓰이는 원본비율이 바로 contain 이고 중앙비율이 cover 입니다. 말로는 잘 모를 수 있으니 바로 예시를 들어보겠습니다. 먼저 예시에 사용할 이미지를 두개 올리겠습니다.
출처 : 구글 이미지 검색출처 : 구글 이미지 검색
이렇게 두개를 올렸구요, 이제 이것을 활용해서 contain과 cover의 쓰임을 살펴보겠습니다.
보시면 어떤 차이점이 있는지 확인 가능하실겁니다. 처음에 티에디션 썸네일의 경우를 말씀드렸는데, cover가 중앙비율, contain이 원본비율로 설정이 되는 것 입니다. contain의 경우는 이미지 전체가 보여지도록 설정이 됩니다. 이때 div의 크기에 따라서 이미지가 전체에 꽉 들어차지 못할수도 있습니다. 반면 cover는 div 영역 안에 백그라운드 이미지가 빈 틈 없이 매워지게 하는 가장 효과적인 방법입니다. 하지만 이미지의 일부가 잘리는 단점이 있습니다. 보편적으로 cover는 이미지의 가장 짧은 선분을 기준으로 꽉 찹니다. 왜냐하면 선분이 긴 쪽을 기준으로 한다면 div 영역에 꽉차게 할 수 없기 때문입니다. 한번 직접 여러가지 사이즈의 이미지를 직접 테스트해 보세요. 그러면 감이 딱 오실 것입니다.
개인적으로는 cover 옵션을 많이 사용합니다. 지정해놓은 영역 안에 백그라운드 이미지로서 빈 틈 없이 나오게 만들 수 있기 때문입니다. 물론 이미지 영역 일부가 잘리는 부작용이 있지만 어쩔 수 없지요. 물론 지정한 영역에 이미지를 꽉 채우는 방법은 또 있습니다. 하지만 지정한 영역과 이미지의 비율이 똑같아야 합니다. 만약 둘 중 하나라도 틀린다면 이미지 왜곡이 일어납니다. 끝.