곰
2023/05/23
#메모.
CSS의 object-fit 속성으로 이미지를 왜곡 없이 보여주기
*이미지를 웹상에 올리게 되면 object-fit: fill; 처리돼서 원본 사이즈가 보이게 된다.
->이때 1개 이상의 이미지가 서로 다른 가로 세로 사이즈 때문에 웹상에서 object-fit 속성을 어떻게 주냐에 따라서 화면에서 보이는 방식이 변하고, 모바일 대응에서도 많이 영향이 가는 모양.
*object-fit: fill
다중 이미지가 같은 가로*세로 크기라면 상관없으나 다중 이미지가 서로 다른 사이즈일 때 object-fit를 주지 않아 object-fit: fill 상태 유지 시.
<img src="이미지 주소" width="200px" height="200px" />
가로세로가 200*200인 정사각형 안에 구겨져서 이미지가 들어가 왜곡 현상이 생긴다.
*object-fit: cover
:이미지의 본래 비율을 지키는 방법 1(대가: 이미지의 일부 잘림)
이미지 css에 object-fit: cover를 추가할 시
(img { object-fit: cover;} 이렇게~!)
<img src="이미지 주소" width="200px" height="200px" />
200*200사이즈의 정사각형 안에 그림들이 200보다 넘는 사이즈의 가로 또는 세로가 잘려서 그림이 들어가게 된다.
섬네일(thumbnail)이나 미리 보기 그리고 이미지를 포함하고 있는 카드(card)나 여러 이미지로 이루어진 그리드(grid)를 만들 때 많이 사용된다. 이러한 UI는 보통 클릭(click) 하거나 호버(hover) 하면 이미지 전체를 볼 수 있게 해주므로 이미지가 좀 잘려도 큰 문제가 되지 않는 경우가 많다고 한다.
*object-fit: contain
:이미지의 본래 비율을 지키는 방법 2(대가: 빈 영역 발생)
이미지 css에 object-fit: contain를 추가할 시
(img { object-fit: contain;} 이렇게~!)
<img src="이미지 주소" width="200px" height="200px" />
200*200안에 자동으로 이미지가 가로와 세로의 200기준으로 다른 영역이 줄어들어 출력된다. 그렇기 때문에 줄어든 만큼의 빈 영역이 생기게 된다.
*object-fit: none
:이미지의 본래 비율을 지키는 방법 3(대가: 이미지를 감싼 영역이 추가적으로 발생과 잘림 발생이 일어날 수 있다..)
이 녀석은 좀 까다롭군요... 잘 안 쓸듯하니... 치우며...
object-fit: contain와 비슷하나. 작성한 세로 가로 설정에서 맞혀 한쪽 면이라도 그보다 작으면 거기에 맞혀 이미지 자동 조절 후 큰 쪽이 잘리는... 그런....
*object-fit: scale-down
:이 속성 값은 이미지가 주어진 영역보다 작을 때는 none 속성 값처럼 작동하다가, 이미지가 주어진 영역보다 클 때는 contain 속성 값처럼 작동합니다.
(신기능..?이라 잘 안 쓸 듯...
+
LINK