<img> ํ•˜๋‹จ์— ๋นˆ ๊ณต๊ฐ„ ์ƒ๊ธฐ๋Š” ๊ฒฝ์šฐ

  • <img> ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ‘์— ์—ฌ๋ฐฑ ์กด์žฌ
  • <img> ๋Š” ์ธ๋ผ์ธ ์š”์†Œ๋ผ ์„ธ๋กœ ์ •๋ ฌ์ด ๊ธ€์ž์˜ baseline์— ๋งž์ถฐ์ ธ์„œ ๋ฐ‘์— ์—ฌ๋ฐฑ์ด ์ƒ๊น€
  • ์•„๋ž˜ ๋ฐฉ๋ฒ•์œผ๋กœ ์ด๋ฏธ์ง€๊ฐ€ ์œ„์ชฝ ๋ผ์ธ์— ์ •๋ ฌ๋˜์–ด ์—ฌ๋ฐฑ์—†์ด ๋”ฑ ๋งž๊ฒŒ ๋“ค์–ด๊ฐ
img {
	vertical-align: top;
}

<area>, <map>

๋ฐ˜์‘ํ˜•์—์„œ ์ปจํ…์ธ  ๋น„์œจ ์œ ์ง€ํ•˜๊ธฐ

1. aspect-ratio

  • ๋ฐ˜์‘ํ˜•์œผ๋กœ ๊ฐ€๋กœ, ์„ธ๋กœ ๋น„์œจ ์ •ํ•ด์คŒ
/* ๊ฐ€๋กœ 200px, ์„ธ๋กœ 350px ๋กœ ์ปจํ…์ธ  ๋งŒ๋“ค๊ณ  ๋ฐ˜์‘ํ˜•์—์„œ๋„ ๋น„์œจ ์œ ์ง€ */
div {
	width: 200px;
	aspect-ratio: 200 / 350;
    /* ๋ณดํ†ต ๋ฐฐ๊ฒฝ์ด ์ด๋ฏธ์ง€์ธ ๊ฒฝ์šฐ ์ด๋ฏธ์ง€ ์ค‘์•™ ์ค‘์‹ฌ์œผ๋กœ ๊ฝ‰ ์ฐจ๊ฒŒ ๋ณด์ด๊ฒŒ ์„ค์ •*/
    object-fit:cover;
}

/* ๊ฐ€๋กœ๋Š” ๋ถ€๋ชจ์˜ ํฌ๊ธฐ์™€ ๊ฐ™๊ณ  ๋ฐ˜์‘ํ˜•์—์„œ๋„ 1:1 ์ •์‚ฌ๊ฐํ˜• ๋น„์œจ ์œ ์ง€ */
img {
	width: 100%;
    aspect-ratio: 1/1;
}

2. padding %๊ฐ’ ์ด์šฉ

  • 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;
}

๊ฒฐ๊ณผ


z-index

  • ๊ฐ’์ด ํด์ˆ˜๋ก ์•ž์— ์œ„์น˜
  • ๋ถ€๋ชจ๋Š” z-index ๊ฐ’์ด ์ปค๋„ ์ž์‹ ์•ž์— ์œ„์น˜ํ•  ์ˆ˜ ์—†์Œ
  • ์ž์‹์€ ์Œ์ˆ˜ ๊ฐ’์œผ๋กœ ๋ถ€๋ชจ ๋’ค์— ์œ„์น˜ํ•  ์ˆ˜ ์žˆ์Œ
  • ์œ ์ง€๋ณด์ˆ˜ ์‰ฝ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ 100๋‹จ์œ„๋กœ ํ• ๋‹น

Position

static

  • ๊ธฐ๋ณธ ์ƒํƒœ๋กœ, ์›น ๋ฌธ์„œ์˜ ํ๋ฆ„์— ๋”ฐ๋ผ ๋ฐฐ์น˜

relative

  • static์ผ ๋•Œ ๊ธฐ๋ณธ ์œ„์น˜ ๊ธฐ์ค€์œผ๋กœ ์–ด๋””์— ์œ„์น˜ํ•˜๋Š”์ง€ top, right, bottom, left ๊ฐ’์œผ๋กœ ์ง€์ •
  • ๋‹ค๋ฅธ ์ฝ˜ํ…์ธ ์˜ ์œ„์น˜์— ์˜ํ–ฅ X

absolute

  • ๋ถ€๋ชจ์˜ ์œ„์น˜ ๊ธฐ์ค€์œผ๋กœ ์–ด๋””์— ์œ„์น˜ํ•˜๋Š”์ง€ top, right, bottom, left ๊ฐ’์œผ๋กœ ์ง€์ •

relative vs absolute

๊ธฐ์ค€์ ์˜ ์œ„์น˜ ๋‹ค๋ฆ„

fixed

  • ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด ๊ธฐ์ค€์œผ๋กœ ์–ด๋””์— ์œ„์น˜ํ•˜๋Š”์ง€ top, right, bottom, left ๊ฐ’์œผ๋กœ ์ง€์ •
  • ์Šคํฌ๋กค์ด ์›€์ง์—ฌ๋„ ๊ณ ์ •
    -๋ณดํ†ต ๋งจ ์œ„๋กœ๊ฐ€๊ธฐ/๋งจ ๋ฐ‘์œผ๋กœ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋“ฑ์— ์ด์šฉ

sticky

  • ๋ถ€๋ชจ์˜ ์œ„์น˜ ๊ธฐ์ค€์œผ๋กœ ์–ด๋””์—์„œ ๊ณ ์ •๋  ์ง€ top, right, bottom, left ๊ฐ’์œผ๋กœ ์ง€์ •
  • ์Šคํฌ๋กค์ด ์›€์ง์—ฌ๋„ ๊ณ ์ •๋˜๋Š” ์œ„์น˜์— ๋„๋‹ฌํ•œ ๊ฒฝ์šฐ ๋”์ด์ƒ ์›€์ง์ด์ง€ ์•Š๊ณ  ๊ณ ์ •

์ฐธ๊ณ ์‚ฌํ•ญ

๋ถ€๋ชจ ๋ฐ•์Šค ๊ธฐ์ค€์œผ๋กœ ๊ณ ์ •๋œ ์œ„์น˜์— ์ž์‹ ๋ฐ•์Šค๋ฅผ ๋†“๊ณ  ์‹ถ์„ ๋•Œ

  • ๋ถ€๋ชจ ๋ฐ•์Šค position: relative;,
    ์ž์‹ ๋ฐ•์Šค position: absolute; ์ฃผ๊ณ  ๋ถ€๋ชจ ๋ฐ•์Šค ๊ธฐ์ค€์œผ๋กœ ์–ด๋””์— ์œ„์น˜ํ•  ์ง€ ๊ฐ’ ์ง€์ •
profile
ํ™”์ดํŒ…~~^ใ…^/

0๊ฐœ์˜ ๋Œ“๊ธ€

Powered by GraphCDN, the GraphQL CDN