โœ๏ธ TIL

์œ ๋ฐ๋ฏธ ์ทจ์—…๋ถ€ํŠธ์บ ํ”„ - ํ”„๋ก ํŠธ์—”๋“œ&๋ฐฑ์—”๋“œ : 5์ผ์ฐจ TIL

Yuuuki 2023. 12. 19. 17:38

 

 

 

 

 

 

์˜ค๋Š˜์€ ์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด CSS ๋ ˆ์ด์•„์›ƒ, positioning์„ ์‚ฌ์šฉํ•˜์—ฌ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‘ ํŽ˜์ด์ง€๋ฅผ ์™„์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.

 

 

 

 


 

Header์˜ ๋ ˆ์ด์•„์›ƒ์ด ์กฐ๊ธˆ ์–ด๋ ต๋‹ค๊ณ  ๋А๊ปด์„œ ๋‹ค์‹œ ํ•œ๋ฒˆ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

 

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 60px;
  position: absolute;
  box-sizing: border-box;
  width: 100%;
}

 

๋จผ์ €, ํ™•์‹คํžˆ ์งš๊ณ  ๋„˜์–ด๊ฐ€์•ผํ•  ๊ฒƒ์ด ์žˆ๋‹ค.

width:100%๋ผ๋Š”๊ฒƒ์€ ๋ถ€๋ชจ์š”์†Œ์˜ ํฌ๊ธฐ(border,margin,padding)์„ ํฌํ•จํ•œ ๊ฐ’์ด ์•„๋‹ˆ๋ผ, content์˜ ํฌ๊ธฐ๋งŒ์„ ์ƒ์†๋ฐ›๋Š”๋‹ค.

์ด๊ฑธ ํ˜ผ๋™ํ•˜์—ฌ ์•Œ๊ณ  ์žˆ์—ˆ๋‹ค...๐Ÿ™€

 

 

์œ„ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด header๊ฐ€ ์ €๋ ‡๊ฒŒ body๋ฅผ ๋„˜์น˜๋Š” ์ด์œ ๋Š”,

width:100%๋กœ์จ, body์˜ content + css์— ์ •์˜ํ•œ header์˜ padding (15px 60px)๊นŒ์ง€ ํ•ฉ์ณ์ง€๊ธฐ ๋•Œ๋ฌธ์—, body๋ฅผ ๋„˜์–ด๊ฐ€๋ฒ„๋ฆฌ๋Š”๊ฒƒ์ด๋‹ค.

 

๐Ÿ’ก

๊ทธ๋ž˜์„œ, box-sizing: border-box; ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ์ด๋‹ค!

 

 

border-box๋Š” border+padding+content๋ฅผ ํฌํ•จํ•ด์„œ ๊ณ„์‚ฐํ•ด์ค€๋‹ค.

์œ ์˜ํ•  ์ ์€ margin์€ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

๊ทธ๋ž˜์„œ, border-box๋กœ ์ธํ•ด body์˜ content + css์— ์ •์˜ํ•œ header์˜ padding (15px 60px)๊นŒ์ง€ ํ•ฉ์ณ์ง„ ๊ฐ’์ด body์˜ width(์ •ํ™•ํžˆ๋Š” content)๊ฐ€ ๋˜์•ผํ•˜๋ฏ€๋กœ, ์ž๋™์œผ๋กœ ๊ณ„์‚ฐ๋˜์–ด content๊ฐ€ ์ค„์–ด๋“œ๋Š”๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

object-fit

 

object-fit ์†์„ฑ์€ <img>๋‚˜ <video> ์š”์†Œ์˜ ์ฝ˜ํ…์ธ  ํฌ๊ธฐ๋ฅผ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์กฐ์ ˆํ•ด ์š”์†Œ์— ๋งž์ถœ ๊ฒƒ์ธ์ง€ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

 

์ฐจ๋ก€๋Œ€๋กœ fill, contain, cover์ด๋‹ค.

 

fill์€ ๊ทธ์ € ํฌ๊ธฐ์— ์ตœ๋Œ€ํ•œ ๋งž์ถฐ์„œ ๋„ฃ๊ธฐ ๋•Œ๋ฌธ์— ์ข…ํšก๋น„๊ฐ€ ๊นจ์ง„๋‹ค.

๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” contain, cover์˜ ์ฐจ์ด์ ์„ ์œ ์˜ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”๋ฐ,

๋‘˜๋‹ค ๋ชจ๋‘ ์ข…ํšก๋น„๋ฅผ ๋งž์ถ”์–ด ์ด๋ฏธ์ง€๊ฐ€ ๋“ค์–ด๊ฐ€์ง€๋งŒ,

 

containe: ์ฝ˜ํ…์ธ ๊ฐ€ ์ฝ˜ํ…์ธ  ๋ฐ•์Šค ํฌ๊ธฐ์— ๋งž๋„๋ก ํ•˜๋ฉด์„œ๋„ ๊ฐ€๋กœ์„ธ๋กœ๋น„๋ฅผ ์œ ์ง€ํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ, ์„œ๋กœ์˜ ๊ฐ€๋กœ์„ธ๋กœ๋น„๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด, ๋นˆ๊ณต๊ฐ„์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค!

 

cover : ์ปจํ…Œ์ด๋„ˆ์— ๊ฐ€๋Šฅํ•œ๋งŒํผ ์ด๋ฏธ์ง€๋ฅผ ๋„ฃ์œผ๋ฉด์„œ ์ข…ํšก๋น„๋„ ์œ ์ง€์‹œ์ผœ์ค€๋‹ค. ์ฆ‰, ์™œ๊ณก๋„์—†๊ณ  ๋นˆ๊ณต๊ฐ„๋„ ์—†๋‹ค.

 

 

 

 

 

 

์˜ค๋Š˜์˜ ์ˆ˜์—… ์ค‘, ๊ฐ€์žฅ ์˜๋ฌธ์ด์˜€๋˜ ์ ..!๐Ÿซฃ

 

 

<section id="highlights">
        <h2>highlights</h2>
        <ul id="destinations">
          <li class="destination">
            <img src="/images/places/miami.jpg" alt="miami streets" />
            <p>Miami <strong>USA</strong></p>
          </li>
          <li class="destination">
            <img src="/images/places/munich.jpg" alt="munich streets" />
            <p>munich <strong>Germany</strong></p>
          </li>
          <li class="destination">
            <img src="/images/places/barcelona.jpg" alt="barcelona streets" />
            <p>barcelona <strong>Spain</strong></p>
          </li>
        </ul>
      </section>

 

๊ฐ•์˜์—์„œ, ์„ธ๋ฒˆ์งธ ์ด๋ฏธ์ง€์˜ ํ•ด์ƒ๋„(ํฌ๊ธฐ)์˜ ์ฐจ์ด๋กœ ์„ธ๋กœ๊ธธ์ด๊ฐ€ 1,2๋ฒˆ์งธ ์‚ฌ์ง„๋ณด๋‹ค ํฌ๋‹ค๋ณด๋‹ˆ, ์ข…ํšก๋น„๋ฅผ ๋งž์ถ”๋‹ค๋ณด๋‹ˆ ๋‹ค๋ฅธ ์š”์†Œ๋ณด๋‹ค ์ข€ ๋” ์ž‘๊ฒŒ ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค๊ณ  ์„ค๋ช…ํ•˜์…จ๋‹ค. (ํ•ด์ƒ๋„๊ฐ€ ๋” ๋†’์€๋ฐ, ๊ณ ์ •๋œ ๋†’์ด๋ฅผ ๋ถ€์—ฌํ•˜๋ฉด, ์ด๋ฏธ์ง€๊ฐ€ ๋” ์ค„์–ด๋“ ๋‹ค.)

li ํƒœ๊ทธ์—” img, p ํƒœ๊ทธ๊ฐ€ ๋‹ด๊ฒจ์žˆ๊ณ , imgํฌ๊ธฐ์— ์˜ํ•ด li์˜ ํฌ๊ธฐ๊ฐ€ ๊ฒฐ์ •๋œ๋‹ค๊ณ  ํ•œ๋‹ค.(pํƒœ๊ทธ๋Š” ๊ธ€์ž์ˆ˜๊ฐ€ ๋งŽ์ง€ ์•Š๊ธฐ๋•Œ๋ฌธ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค)

 

.destination img {
  width: 100%;
  height: 200px;
  box-shadow: 2px 4px 8px rgb(68, 67, 67);
  border-radius: 10px;
  object-fit: cover;
}

 

๊ทธ๋ž˜์„œ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฐจ์ด๋ฅผ 1:1:1๋กœ ๋งž์ถ”๊ธฐ ์œ„ํ•ด์„  ๋‹ค์Œ๊ณผ ๊ฐ™์ด, imgํƒœ๊ทธ์— width:100%๋ฅผ ์ง€์ •ํ•˜๋ฉด ๋œ๋‹ค๊ณ  ๊ฐ•์˜์—์„œ ์„ค๋ช…์„ ํ•˜์…จ์ง€๋งŒ,,?

์—ฌ์ „ํžˆ ๋งˆ์ง€๋ง‰์š”์†Œ๋Š” ํฌ๊ธฐ๊ฐ€ ์ž‘๋‹ค... 

 

๊ฐ•์˜์—์„œ ๋†“์นœ์ ์ด ์žˆ๋Š”๊ฑด๊ฐ€ ๋‹ค์‹œ ๋Œ๋ ค๋ณด๊ณ  , ์กฐ์›๋“ค์—๊ฒŒ ๋ฌผ์–ด๋ดค์ง€๋งŒ ๊ฒฐ๊ณผ๋Š” ๋˜‘๊ฐ™์•˜๋‹ค...

 

์™œ ๊ทธ๋Ÿด์ง€ ์ƒ๊ฐํ•ด๋ณด์•˜๋‹ค๐Ÿค”

๋‚ด๊ฐ€ ์ƒ๊ฐํ•ด๋ณธ ์ด์œ ๋Š” ์ด๋ ‡๋‹ค.

 

imgํฌ๊ธฐ์— ์˜ํ•ด li์˜ ํฌ๊ธฐ๊ฐ€ ๊ฒฐ์ •๋˜๋Š”๊ฒƒ์ธ๋ฐ, img์— width:100%์„ ๋„ฃ์œผ๋ฉด 

img๋Š” li์˜ contentํฌ๊ธฐ๋ฅผ ์ƒ์†๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” 1:1:1์˜ ๋น„์œจ์ด ๋  ์ˆ˜๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

๊ทธ๋ž˜์„œ, ๋‚ด๊ฐ€ ํ•ด๊ฒฐํ•œ ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

๐Ÿ’ก

li์˜ ํฌ๊ธฐ๋ฅผ ๋™๋“ฑํ•˜๊ฒŒ 3๋“ฑ๋ถ„ํ•˜๊ณ , img์—  width:100%์„ ์‚ฌ์šฉํ•ด์„œ img๋ฅผ 3๋“ฑ๋ถ„ํ•˜๋Š”๊ฒƒ..!

li๋ฅผ 3๋“ฑ๋ถ„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ, width๋ฅผ 100%๋ฅผ ๋„ฃ๋Š”๊ฒƒ์ด๋‹ค. 

ul์— display:flex๊ฐ€ ์ง€์ •๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ul์˜ ์ฝ˜ํ…์ธ  ๊ฐ€๋กœ ์˜์—ญ์— liํƒœ๊ทธ๋“ค์ด ๋™์ผํ•˜๊ฒŒ ๋“ค์–ด๊ฐˆ ๊ฒƒ์ด๋‹ค.

๊ทผ๋ฐ ๊ฐ•์˜์—์„œ ulํƒœ๊ทธ์˜ ๋„ˆ๋น„๋ฅผ 90%๋ผ๊ณ  ์ง€์ •ํ•ด์—ˆ๋Š”๋ฐ, ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ul์˜ ๋„ˆ๋น„๊ฐ€ ์ปค์กŒ์„๋•Œ li์˜ ์š”์†Œ๋“ค์˜ ํฌ๊ธฐ๊ฐ€ ๋ฏธ๊ด€์ƒ ์ปค์ ธ์„œ...

max-width๋ฅผ ์ง€์ •ํ•ด์„œ ์ ๋‹นํ•œ ์š”์†Œ์˜ ํฌ๊ธฐ๋กœ ๋งŒ๋“ค์–ด์ฃผ์—ˆ๋‹ค.

 

(์ฐธ๊ณ ๋กœ, ul์˜ ๋ถ€๋ชจ์š”์†Œ๋Š” section์ด๋‹ค.)

 

#destinations {   ///ul
  max-width: 1100px;
  display: flex;
  width: 90%;
  margin: auto;
  justify-content: center;
  margin-bottom: 40px;
}
.destination {  ///li
  width: 100%;
  margin: 0 20px;
  text-transform: uppercase;
}

 

 

 

 


CSS์˜ ๋ ˆ์ด์•„์›ƒ์€ 

ํ•ญ์ƒ ๋А๋ผ๋Š”๊ฒƒ์ด์ง€๋งŒ... ์–ด๋ ต๋‹ค ..ใ…Žใ…Žใ…Ž

๋Šฅ์ˆ™ํ•ด์ง€๋Š” ๊ทธ๋‚ ๊นŒ์ง€ ํ™”์ดํŒ…!