[CSS] 반응형에서 이미지 종횡 비율 맞추기
반응형에서 이미지 종횡 비율 맞추기
반응형 사이트에서 1:1 비율의 이미지를 만들어보자. 포인트는 padding값을 활용한다는 것이다.
- % 와 px의 개념은 다르다.
width
의 100%는 명확하지만,height
의 100%는 부모에 명확한 px값이 없다면 명확하지 않아진다.- 반응형 제작 시
width
는 100%를 주면 디바이스에 따라 px 사이즈가 변화하지만, 세로는 안된다. padding
과margin
의 % 기준은width
를 따른다.- 따라서 반응형에서 정사각형 이미지를 만들기 위해
padding
을 사용한다.
1
2
3
4
5
6
7
8
9
10
11
.img-parent {
width: 100%;
height: 0;
padding-bottom: 100%;
img {
display: block;
width: 100%;
height: 100%;
}
}
- 이렇게 하면 img의 높이는 부모의
height
가 0 이기 때문에 0 이 되어버린다. - 그래서
position: absolute;
를 사용해준다.
이미지를 문서의 흐름에서 제외시켜 이미지의 높이값이 문서의 영향을 받지 않도록 하기 위함이다. - 그리고 맨날 까먹는 속성..
object-fit
을 사용해
비율이 제각각인 이미지 소스가 가운데에 가득차서 나오도록 만들어준다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
.img-parent {
position: relative;
width: 100%;
height: 0;
padding-bottom: 100%;
img {
position: absolute;
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
}
이미지 영역들을 1:1 비율로 만들었다.
Leave a comment