CodeGym /ํ–‰๋™ /Frontend SELF KO /๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ฐ˜๋ณต

๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ฐ˜๋ณต

Frontend SELF KO
๋ ˆ๋ฒจ 18 , ๋ ˆ์Šจ 3
์‚ฌ์šฉ ๊ฐ€๋Šฅ

3.1 background-repeat ์†์„ฑ

CSS์˜ background-repeat์™€ background-size ์†์„ฑ์€ ์š”์†Œ ๋‚ด์—์„œ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ฐ˜๋ณต๋˜๊ณ  ํฌ๊ธฐ๊ฐ€ ์กฐ์ •๋˜๋Š”์ง€ ์ œ์–ดํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ผ. ์ด ์†์„ฑ๋“ค์€ ์›น ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ์‹œ๊ฐ์ ์œผ๋กœ ๋งค๋ ฅ์ ์ธ ๋ฐฐ๊ฒฝ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ด. ๊ฐ๊ฐ์˜ ์†์„ฑ์„ ๋” ์ž์„ธํžˆ ์‚ดํŽด๋ณด์ž.

background-repeat ์†์„ฑ์€ ์š”์†Œ ๋‚ด์—์„œ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ฐ˜๋ณต๋˜๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•ด. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋Š” ๊ฐ€๋กœ์™€ ์„ธ๋กœ๋กœ ๋ฐ˜๋ณต๋ผ.

๊ฐ’๋“ค

  • repeat: ์ด๋ฏธ์ง€๊ฐ€ ๊ฐ€๋กœ์™€ ์„ธ๋กœ๋กœ ๋ฐ˜๋ณต๋ผ (๊ธฐ๋ณธ๊ฐ’)
  • repeat-x: ์ด๋ฏธ์ง€๊ฐ€ ๊ฐ€๋กœ๋กœ๋งŒ ๋ฐ˜๋ณต๋ผ
  • repeat-y: ์ด๋ฏธ์ง€๊ฐ€ ์„ธ๋กœ๋กœ๋งŒ ๋ฐ˜๋ณต๋ผ
  • no-repeat: ์ด๋ฏธ์ง€๊ฐ€ ๋ฐ˜๋ณต๋˜์ง€ ์•Š์•„

1. repeat ๊ฐ’:

์ด๋ฏธ์ง€๊ฐ€ ๊ฐ€๋กœ์™€ ์„ธ๋กœ๋กœ ๋ฐ˜๋ณต๋ผ.

CSS
    
      .repeat {
        width: 200px;
        height: 200px;
        background-image: url('https://via.placeholder.com/50');
        background-repeat: repeat;
        border: 1px solid #000;
      }
    
  
HTML
    
      <div class="repeat">๊ฐ€๋กœ์™€ ์„ธ๋กœ๋กœ ๋ฐ˜๋ณต</div>
    
  

2. repeat-x ๊ฐ’:

์ด๋ฏธ์ง€๊ฐ€ ๊ฐ€๋กœ๋กœ๋งŒ ๋ฐ˜๋ณต๋ผ.

CSS
    
      .repeat-x {
        width: 200px;
        height: 200px;
        background-image: url('https://via.placeholder.com/50');
        background-repeat: repeat-x;
        border: 1px solid #000;
      }
    
  
HTML
    
      <div class="repeat-x">๊ฐ€๋กœ๋กœ๋งŒ ๋ฐ˜๋ณต</div>
    
  

3. repeat-y ๊ฐ’:

์ด๋ฏธ์ง€๊ฐ€ ์„ธ๋กœ๋กœ๋งŒ ๋ฐ˜๋ณต๋ผ.

CSS
    
      .repeat-y {
        width: 200px;
        height: 200px;
        background-image: url('https://via.placeholder.com/50');
        background-repeat: repeat-y;
        border: 1px solid #000;
      }
    
  
HTML
    
      <div class="repeat-y">์„ธ๋กœ๋กœ๋งŒ ๋ฐ˜๋ณต</div>
    
  

4. no-repeat ๊ฐ’:

์ด๋ฏธ์ง€๊ฐ€ ๋ฐ˜๋ณต๋˜์ง€ ์•Š์•„.

CSS
    
      .no-repeat {
        width: 200px;
        height: 200px;
        background-image: url('https://via.placeholder.com/50');
        background-repeat: no-repeat;
        border: 1px solid #000;
      }
    
  
HTML
    
      <div class="no-repeat">๋ฐ˜๋ณต ์—†์Œ</div>
    
  

์ฝ”๋“œ ์„ค๋ช…

  • .repeat: ์ด๋ฏธ์ง€๊ฐ€ ๊ฐ€๋กœ์™€ ์„ธ๋กœ๋กœ ๋ฐ˜๋ณต๋˜์–ด ์š”์†Œ๋ฅผ ๋ชจ๋‘ ์ฑ„์›Œ
  • .repeat-x: ์ด๋ฏธ์ง€๊ฐ€ ๊ฐ€๋กœ๋กœ๋งŒ ๋ฐ˜๋ณต๋ผ
  • .repeat-y: ์ด๋ฏธ์ง€๊ฐ€ ์„ธ๋กœ๋กœ๋งŒ ๋ฐ˜๋ณต๋ผ
  • .no-repeat: ์ด๋ฏธ์ง€๋Š” ๋ฐ˜๋ณต๋˜์ง€ ์•Š๊ณ  ํ•œ ๋ฒˆ๋งŒ ํ‘œ์‹œ๋ผ

3.2 background-size ์†์„ฑ

background-size ์†์„ฑ์€ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๋ฅผ ์ œ์–ดํ•ด. ์ด๋ฏธ์ง€๋ฅผ ์š”์†Œ์— ๋งž๊ฒŒ ํฌ๊ธฐ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค˜.

๊ฐ’๋“ค:

  • auto: ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๊ฐ€ ์ž๋™์œผ๋กœ ๊ฒฐ์ •๋ผ (๊ธฐ๋ณธ๊ฐ’)
  • cover: ์ด๋ฏธ์ง€๋ฅผ ๋น„์œจ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์š”์†Œ๋ฅผ ์™„์ „ํžˆ ๋ฎ๋„๋ก ํฌ๊ธฐ ์กฐ์ •ํ•ด
  • contain: ์ด๋ฏธ์ง€๋ฅผ ๋น„์œจ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์š”์†Œ์— ์™„์ „ํžˆ ๋งž๋„๋ก ํฌ๊ธฐ ์กฐ์ •ํ•ด
  • ์ ˆ๋Œ€๊ฐ’: ์˜ˆ๋ฅผ ๋“ค์–ด, 100px 50px๋Š” ์ด๋ฏธ์ง€์˜ ๊ฐ€๋กœ์™€ ์„ธ๋กœ๋ฅผ ํ”ฝ์…€ ๋‹จ์œ„๋กœ ์ง€์ •ํ•ด
  • ๋ฐฑ๋ถ„์œจ ๊ฐ’: ์˜ˆ๋ฅผ ๋“ค์–ด, 50% 50%๋Š” ์š”์†Œ ํฌ๊ธฐ์˜ ๋ฐฑ๋ถ„์œจ๋กœ ์ด๋ฏธ์ง€์˜ ๊ฐ€๋กœ์™€ ์„ธ๋กœ๋ฅผ ์ง€์ •ํ•ด

1. ๊ธฐ๋ณธ ํฌ๊ธฐ (auto):

์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๊ฐ€ ์ž๋™์œผ๋กœ ๊ฒฐ์ •๋ผ (๊ธฐ๋ณธ๊ฐ’).

CSS
    
      .size-auto {
        width: 200px;
        height: 200px;
        background-image: url('https://via.placeholder.com/50');
        background-size: auto;
        border: 1px solid #000;
      }
    
  
HTML
    
      <div class="size-auto">๊ธฐ๋ณธ ํฌ๊ธฐ (auto)</div>
    
  

2. cover:

์ด๋ฏธ์ง€๋ฅผ ๋น„์œจ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์š”์†Œ๋ฅผ ์™„์ „ํžˆ ๋ฎ๋„๋ก ํฌ๊ธฐ ์กฐ์ •ํ•ด.

CSS
    
      .size-cover {
        width: 200px;
        height: 200px;
        background-image: url('https://via.placeholder.com/150');
        background-size: cover;
        border: 1px solid #000;
      }
    
  
HTML
    
      <div class="size-cover">์š”์†Œ๋ฅผ ๋ฎ๋„๋ก ํฌ๊ธฐ ์กฐ์ • (cover)</div>
    
  

3. contain:

์ด๋ฏธ์ง€๋ฅผ ๋น„์œจ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์š”์†Œ์— ์™„์ „ํžˆ ๋งž๋„๋ก ํฌ๊ธฐ ์กฐ์ •ํ•ด.

CSS
    
      .size-contain {
        width: 200px;
        height: 200px;
        background-image: url('https://via.placeholder.com/150');
        background-size: contain;
        border: 1px solid #000;
      }
    
  
HTML
    
      <div class="size-contain">์™„์ „ํžˆ ๋งž๋„๋ก ํฌ๊ธฐ ์กฐ์ • (contain)</div>
    
  

4. ์ ˆ๋Œ€๊ฐ’:

์˜ˆ๋ฅผ ๋“ค์–ด, 100px 50px์€ ์ด๋ฏธ์ง€์˜ ๊ฐ€๋กœ์™€ ์„ธ๋กœ๋ฅผ ํ”ฝ์…€ ๋‹จ์œ„๋กœ ์ง€์ •ํ•ด.

CSS
    
      .size-pixels {
        width: 200px;
        height: 200px;
        background-image: url('https://via.placeholder.com/150');
        background-size: 100px 50px;
        border: 1px solid #000;
      }
    
  
HTML
    
      <div class="size-pixels">ํ”ฝ์…€ ๋‹จ์œ„ ํฌ๊ธฐ (100px 50px)</div>
    
  

5. ๋ฐฑ๋ถ„์œจ ๊ฐ’:

์˜ˆ๋ฅผ ๋“ค์–ด, 50% 50%๋Š” ์š”์†Œ ํฌ๊ธฐ์˜ ๋ฐฑ๋ถ„์œจ๋กœ ์ด๋ฏธ์ง€์˜ ๊ฐ€๋กœ์™€ ์„ธ๋กœ๋ฅผ ์ง€์ •ํ•ด.

CSS
    
      .size-percent {
        width: 200px;
        height: 200px;
        background-image: url('https://via.placeholder.com/150');
        background-size: 50% 50%;
        border: 1px solid #000;
      }
    
  
HTML
    
      <div class="size-percent">๋ฐฑ๋ถ„์œจ ํฌ๊ธฐ (50% 50%)</div>
    
  

์ฝ”๋“œ ์„ค๋ช…:

  • .size-auto: ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๊ฐ€ ์ž๋™์œผ๋กœ ๊ฒฐ์ •๋ผ
  • .size-cover: ์ด๋ฏธ์ง€๋ฅผ ๋น„์œจ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์š”์†Œ๋ฅผ ์™„์ „ํžˆ ๋ฎ๋„๋ก ํฌ๊ธฐ ์กฐ์ •ํ•ด. ์ด๋ฏธ์ง€ ์ผ๋ถ€๊ฐ€ ์ž˜๋ฆด ์ˆ˜๋„ ์žˆ์–ด
  • .size-contain: ์ด๋ฏธ์ง€๋ฅผ ๋น„์œจ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์š”์†Œ์— ์™„์ „ํžˆ ๋งž๋„๋ก ํฌ๊ธฐ ์กฐ์ •ํ•ด. ์ด๋ฏธ์ง€๋Š” ์™„์ „ํžˆ ๋ณด์ด์ง€๋งŒ ๋นˆ ์˜์—ญ์ด ์žˆ์„ ์ˆ˜ ์žˆ์–ด
  • .size-pixels: ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๊ฐ€ ํ”ฝ์…€ ๋‹จ์œ„๋กœ ์ง€์ •๋ผ (๊ฐ€๋กœ 100px, ์„ธ๋กœ 50px)
  • .size-percent: ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๊ฐ€ ์š”์†Œ ํฌ๊ธฐ์˜ ๋ฐฑ๋ถ„์œจ๋กœ ์ง€์ •๋ผ (๊ฐ€๋กœ 50%, ์„ธ๋กœ 50%)

3.3 background-repeat์™€ background-size์˜ ์กฐํ•ฉ

background-repeat์™€ background-size ์†์„ฑ์€ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€์˜ ์›ํ•˜๋Š” ํ‘œ์‹œ ํšจ๊ณผ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ํ•จ๊ป˜ ์ž์ฃผ ์‚ฌ์šฉ๋ผ.

์‚ฌ์šฉ ์˜ˆ์‹œ:

CSS
    
      .combined {
        width: 300px;
        height: 300px;
        background-image: url('https://via.placeholder.com/150');
        background-repeat: no-repeat;
        background-size: cover;
        border: 1px solid #000;
      }
    
  
HTML
    
      <body>
        <div class="combined">๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๊ฐ€ ๋ฐ˜๋ณต๋˜์ง€ ์•Š๊ณ  ์š”์†Œ๋ฅผ ๋ฎ๋„๋ก ํฌ๊ธฐ ์กฐ์ •</div>
      </body>
    
  

์ฝ”๋“œ ์„ค๋ช…:

  • background-repeat: no-repeat;: ์ด๋ฏธ์ง€๊ฐ€ ๋ฐ˜๋ณต๋˜์ง€ ์•Š์•„
  • background-size: cover;: ์ด๋ฏธ์ง€๋ฅผ ๋น„์œจ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์š”์†Œ๋ฅผ ์™„์ „ํžˆ ๋ฎ๋„๋ก ํฌ๊ธฐ ์กฐ์ •ํ•ด. ์ด๋ฏธ์ง€ ์ผ๋ถ€๊ฐ€ ์ž˜๋ฆด ์ˆ˜๋„ ์žˆ์–ด
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION