<img>
ํ๋จ์ ๋น ๊ณต๊ฐ ์๊ธฐ๋ ๊ฒฝ์ฐ<img>
์ฌ์ฉํ๋ฉด ๋ฐ์ ์ฌ๋ฐฑ ์กด์ฌ<img>
๋ ์ธ๋ผ์ธ ์์๋ผ ์ธ๋ก ์ ๋ ฌ์ด ๊ธ์์ baseline์ ๋ง์ถฐ์ ธ์ ๋ฐ์ ์ฌ๋ฐฑ์ด ์๊นimg {
vertical-align: top;
}
<area>
, <map>
/* ๊ฐ๋ก 200px, ์ธ๋ก 350px ๋ก ์ปจํ
์ธ ๋ง๋ค๊ณ ๋ฐ์ํ์์๋ ๋น์จ ์ ์ง */
div {
width: 200px;
aspect-ratio: 200 / 350;
/* ๋ณดํต ๋ฐฐ๊ฒฝ์ด ์ด๋ฏธ์ง์ธ ๊ฒฝ์ฐ ์ด๋ฏธ์ง ์ค์ ์ค์ฌ์ผ๋ก ๊ฝ ์ฐจ๊ฒ ๋ณด์ด๊ฒ ์ค์ */
object-fit:cover;
}
/* ๊ฐ๋ก๋ ๋ถ๋ชจ์ ํฌ๊ธฐ์ ๊ฐ๊ณ ๋ฐ์ํ์์๋ 1:1 ์ ์ฌ๊ฐํ ๋น์จ ์ ์ง */
img {
width: 100%;
aspect-ratio: 1/1;
}
padding-top
or padding-bottom
์ ์ด์ฉํด ๋ถ๋ชจ์ ๊ฐ๋ก์ ๋ํ ์ธ๋ก ๋น์จ ๊ฒฐ์ <div class="parent">
<div class="thumbnail">
<img src="https://github.com/stronger-deer/myBlog/blob/main/img/main-visual.jpg?raw=true" alt="ํ ์ฑ์ธ์ด ์ค์ผ์ดํธ ๋ณด๋๋ฅผ ํ๊ณ ์๋ค" />
</div>
</div>
.parent {
width: 50%;
}
.thumbnail {
position: relative;
height: 0;
/* parent์ width ์์ฑ๊ฐ ๊ธฐ์ค์ผ๋ก padding-top(์ธ๋ก) ๋น์จ ์ ํจ */
/* 50% ์๋ฏธ : ๊ฐ๋ก:์ธ๋ก ๋น์จ 2:1 */
padding-top: 50%;
overflow: hidden;
}
.thumbnail img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
relative vs absolute
๊ธฐ์ค์ ์ ์์น ๋ค๋ฆ
๋ถ๋ชจ ๋ฐ์ค ๊ธฐ์ค์ผ๋ก ๊ณ ์ ๋ ์์น์ ์์ ๋ฐ์ค๋ฅผ ๋๊ณ ์ถ์ ๋
- ๋ถ๋ชจ ๋ฐ์ค
position: relative;
,
์์ ๋ฐ์คposition: absolute;
์ฃผ๊ณ ๋ถ๋ชจ ๋ฐ์ค ๊ธฐ์ค์ผ๋ก ์ด๋์ ์์นํ ์ง ๊ฐ ์ง์