๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Lect & Tip/html, css, scss

CSS๋กœ ๋„ค์˜จ ํ…์ŠคํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

by ๋‚ฏ์„ ๊ณต๊ฐ„2019 2021. 5. 6.

๋ชฉ์ฐจ

    โœˆ๋„ค์˜จ ํ…์ŠคํŠธ๋Š” ๋ชจ๋“  ์›น ์‚ฌ์ดํŠธ์— ๋ฉ‹์ง€๊ณ  ๋ฏธ๋ž˜์ ์ธ ๋Š๋‚Œ์„ ๋”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ํ•ญ์ƒ ๋„ค์˜จ์‚ฌ์ธ์˜ ๋งˆ๋ฒ•์„ ์ข‹์•„ํ–ˆ๊ณ  CSS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์‹œ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ํŒ์„ ๊ณต์œ ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค! ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ํ…์ŠคํŠธ์— ๋น›๋‚˜๋Š” ํšจ๊ณผ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ CSS์™€ ํ‚ค ํ”„๋ ˆ์ž„์„ ์‚ฌ์šฉํ•˜์—ฌ ๋„ค์˜จ์‚ฌ์ธ์— ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

    ๋‹ค์Œ์€ ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“ค ๊ฒƒ์ž…๋‹ˆ๋‹ค.

    ํ…์ŠคํŠธ์— ๊ธ€๋กœ์šฐ ํšจ๊ณผ ์ถ”๊ฐ€

    ๋จผ์ € ํ…์ŠคํŠธ๋ฅผ ๋น›๋‚˜๊ฒŒ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. text-shadow์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ CSS์—์„œ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๊น”๋”ํ•œ ์  text-shadow์€ ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์—ฌ๋Ÿฌ ๊ทธ๋ฆผ์ž๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

    .neonText {
      color: #fff;
      text-shadow: 0 0 7px #fff, 0 0 10px #fff, 0 0 21px #fff, 0 0 42px #0fa,
        0 0 82px #0fa, 0 0 92px #0fa, 0 0 102px #0fa, 0 0 151px #0fa;
    }

    text-shadow4 ๊ฐœ์˜ ๊ฐ’์ด ํ•„์š”ํ•˜๋ฉฐ, ๊ทธ์ค‘ ์ฒ˜์Œ 2๊ฐœ๋Š” ๊ฐ๊ฐ ๊ทธ๋ฆผ์ž์˜ ๊ฐ€๋กœ ๋ฐ ์„ธ๋กœ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์„ธ ๋ฒˆ์งธ ๊ฐ’์€ ํ๋ฆผ ๋ฐ˜๊ฒฝ์˜ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ  ๋งˆ์ง€๋ง‰ ๊ฐ’์€ ๊ทธ๋ฆผ์ž์˜ ์ƒ‰์ƒ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ธ€๋กœ์šฐ ํšจ๊ณผ์˜ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฌ๊ธฐ ์œ„ํ•ด ํ๋ฆผ ๋ฐ˜๊ฒฝ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์„ธ ๋ฒˆ์งธ ๊ฐ’์„ ๋Š˜๋ฆฝ๋‹ˆ๋‹ค. ๋˜๋Š” ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ํ‘œํ˜„ :

    text-shadow: [x-offset] [y-offset] [blur-radius] [color];

    ๋‹ค์Œ์€ CSS๋กœ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

    ๋‹ค์Œ์œผ๋กœ ๊ถ๊ธˆํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์ด๋Ÿฌํ•œ ๋ชจ๋“  ๊ฐ€์น˜์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ? ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ์–ป์—ˆ๊ณ  ์™œ ๊ทธ๋ ‡๊ฒŒ ๋งŽ์€๊ฐ€? ๋จผ์ € ๋ธ”๋Ÿฌ ๋ฐ˜๊ฒฝ์ด ์ž‘์€ ํ…์ŠคํŠธ ๊ธ€์ž์˜ ๋ฐ”๊นฅ์ชฝ ๊ฐ€์žฅ์ž๋ฆฌ์— ํฐ์ƒ‰ ๊ด‘์„  ํšจ๊ณผ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

    .neonText { color: #fff; text-shadow: /* White glow */ 0 0 7px #fff, 0 0 10px #fff, 0 0 21px #fff, }

    ๋งˆ์ง€๋ง‰ 5 ๊ฐœ ๊ฐ’์€ ๋…น์ƒ‰ ๊ด‘์„ ์„ ํ˜•์„ฑํ•˜๋Š” ๋” ํฐ ํ๋ฆผ ๋ฐ˜๊ฒฝ์˜ ๋” ๋„“์€ ํ…์ŠคํŠธ ๊ทธ๋ฆผ์ž์ž…๋‹ˆ๋‹ค.

    .neonText { color: #fff; text-shadow: /* White glow */ 0 0 7px #fff, 0 0 10px #fff, 0 0 21px #fff, /* Green glow */ 0 0 42px #0fa, 0 0 82px #0fa, 0 0 92px #0fa, 0 0 102px #0fa, 0 0 151px #0fa; }

    5 ๊ฐœ ๋ฏธ๋งŒ์˜ ๊ทธ๋ฆผ์ž๋กœ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹๊ฒ ์ง€ ๋งŒ, ๋น›์— ๊นŠ์ด๋ฅผ ๋”ํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋กœ ๊ฒน์ณ์งˆ ์ˆ˜ ์žˆ๋„๋ก์ด ๋ชจ๋“  ๊ทธ๋ฆผ์ž๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. text-shadow๋Œ€์‹  ์‹ฑ๊ธ€์„ ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด ํšจ๊ณผ๋Š” ์‚ฌ์‹ค์ ์œผ๋กœ ๋ณด์ด๊ฒŒ ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊นŠ์ด๊ฐ€ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

    ๋‹ค์–‘ํ•œ ์ƒ‰์ƒ๊ณผ ์ƒ‰์ƒ, ๋ธ”๋Ÿฌ ๋ฐ˜๊ฒฝ ํฌ๊ธฐ๋ฅผ ์‹คํ—˜ํ•ด๋ณด์„ธ์š”!๋‹ค์–‘ํ•œ ๋ฉ‹์ง„ ๊ธ€๋กœ์šฐ ํšจ๊ณผ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋‹ค์–‘ํ•œ ๋ณ€ํ˜•์„ ์‹œ๋„ํ•ด ๋ณด์„ธ์š”. ํ•œ ์ƒ‰์ƒ์ด ๋‹ค๋ฅธ ์ƒ‰์ƒ๊ณผ ํ˜ผํ•ฉ๋˜๋Š” ์ƒ‰์ƒ์„ ํ˜ผํ•ฉํ•˜๊ณ  ์ผ์น˜์‹œํ‚ฌ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

    "๊นœ๋ฐ•์ž„"ํšจ๊ณผ

    ๋„ค์˜จ์‚ฌ์ธ์— ๋Œ€ํ•ด ์•Œ์•„์ฐจ๋ฆด ์ˆ˜ ์žˆ๋Š” ํ•œ ๊ฐ€์ง€ ์‚ฌ์‹ค์€ ๊ทธ์ค‘ ์ผ๋ถ€ (ํŠนํžˆ ์˜ค๋ž˜๋œ ๊ฒƒ)๊ฐ€ ๊นœ๋ฐ•์ด๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋น›์˜ ์ข…๋ฅ˜๊ฐ€ ๋“ค์–ด์˜ค๊ณ  ๋‚˜๊ฐ‘๋‹ˆ๋‹ค. CSS ์• ๋‹ˆ๋ฉ”์ด์…˜์œผ๋กœ๋„ ๋˜‘๊ฐ™์€ ์ผ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! @keyframes๊ฒ‰๋ณด๊ธฐ์— ๋ฌด์ž‘์œ„๋กœ ๊นœ๋นก์ด๋Š” ๋น ๋ฅด๊ฒŒ ๋น›์„ ์ผœ๊ณ  ๋„๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

    @keyframes flicker {
      0%,
      18%,
      22%,
      25%,
      53%,
      57%,
      100% {
        text-shadow: 0 0 4px #fff, 0 0 11px #fff, 0 0 19px #fff, 0 0 40px #0fa,
          0 0 80px #0fa, 0 0 90px #0fa, 0 0 100px #0fa, 0 0 150px #0fa;
      }
      20%,
      24%,
      55% {
        text-shadow: none;
      }
    }

    ๊ทธ๊ฒŒ ๋‹ค์•ผ! text-shadow์ด์ „์— ๊ฐ€์กŒ๋˜ ๊ฒƒ๊ณผ ๋˜‘๊ฐ™์€ ์†์„ฑ๊ณผ ๊ฐ’์„ ๊ฐ€์ ธ์™€์„œ@keyframes๋ผ๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์œผ๋กœ ๋ž˜ํ•‘ํ•˜๊ณ  flickerํƒ€์ž„ ๋ผ์ธ์—์„œ ๊ทธ๋ฆผ์ž๋ฅผ ์ ์šฉํ•  ํฌ์ธํŠธ์™€ ๊ทธ๋ฆผ์ž๋ฅผ ์™„์ „ํžˆ ์ œ๊ฑฐํ•˜๋Š” ํฌ์ธํŠธ๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

    ๋‚จ์€ ๊ฒƒ์€ ์กฐ๋ช…์ด ๊นœ๋ฐ•์ด๊ธฐ๋ฅผ ์›ํ•˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ํŠน๋ณ„ํ•œ ๊ฒฝ์šฐ์—๋Š” ์š”์†Œ ์—๋งŒ ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.์ „์ฒด ๊ธฐํ˜ธ์˜ ์ผ๋ถ€๊ฐ€ ๊นœ๋ฐ•์ด๋Š” ๊ฒƒ์€ ๋ชจ๋“  ํ…์ŠคํŠธ์— ๊นœ๋ฐ•์ž„์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์กฐ๊ธˆ ๋” ์‚ฌ์‹ค์ ์ž…๋‹ˆ๋‹ค.

    h1 { animation: flicker 1.5s infinite alternate; }

    ์ „์ฒด ๊ธฐํ˜ธ๊ฐ€ ๊นœ๋ฐ•์ด๋„๋ก ํ•˜๋ ค๋ฉด ๊ธฐ์ˆ ์ ์œผ๋กœ ํด๋ž˜์Šค์˜ text-shadow๊ฐ’์„ ์ œ๊ฑฐ. neonText ํ•˜๊ณ  ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ถ”๊ฐ€ ํ•œ ๋‹ค์Œ @keyframes๋Œ€์‹  ๊ทธ๋ฆผ์ž๋ฅผ ์ ์šฉํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    .neonText {
      animation: flicker 1.5s infinite alternate;
      color: #fff;
    }
    
    h1 {
      font-size: 4.2rem;    
    }
    
    /* Flickering animation */
    @keyframes flicker {
    
      0%, 18%, 22%, 25%, 53%, 57%, 100% {
    
          text-shadow:
          0 0 4px #fff,
          0 0 11px #fff,
          0 0 19px #fff,
          0 0 40px #0fa,
          0 0 80px #0fa,
          0 0 90px #0fa,
          0 0 100px #0fa,
          0 0 150px #0fa;
    
      }
    
      20%, 24%, 55% {        
          text-shadow: none;
      }    
    }
    
    
    /* Additional styling */
    
    h2 {
     font-size: 1.8rem;
    }
    .container {
      margin-top: 20vh;
    }
    
    body {
      font-size: 18px;
      font-family: "Helvetica Neue", sans-serif;
      background-color: #010a01;
    }  
    
    h1, h2 {
      text-align: center;
      text-transform: uppercase;
      font-weight: 400;
    }
    <div class="container">
        <h1 class="neonText">
              404
        </h1>
        <h2 class="neonText">Page Not Found</h2> 
    
     </div>

    ๊ฝค ๋ฉ‹์ง„ ํšจ๊ณผ์ด๋ฉฐ ๋„ค์˜จ ํ…์ŠคํŠธ์— ์‚ฌ์‹ค๊ฐ์„ ๋”ํ•ฉ๋‹ˆ๋‹ค! ๋ฌผ๋ก  ์‹œ๋„ํ•ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ํšจ๊ณผ๋„ ์žˆ์œผ๋ฉฐ์ด ๊ธฐ์‚ฌ์—์„œ๋„ ์ž์„ธํžˆ ์‚ดํŽด๋ณผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋งฅ๋™ํ•˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์ด๋‚˜ ๋ฏธ๋ฌ˜ํ•œ ๊นœ๋ฐ•์ž„์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

    404 Page Not Found

    ์ด๋Ÿฌํ•œ ํšจ๊ณผ์™€ ๋‹ค๋ฅธ ํšจ๊ณผ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

    ํŽ„์‹ฑ ๊ธ€๋กœ์šฐ

    ์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค.์• ๋‹ˆ๋ฉ”์ด์…˜์˜ ์‹œ์ž‘๊ณผ ๋์—์„œ ๋ธ”๋Ÿฌ ๋ฐ˜๊ฒฝ์˜ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜๋Š” ์ด์ „ ์˜ˆ์ œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ‚ค ํ”„๋ ˆ์ž„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๋๋‚  ๋•Œ ํ๋ฆผ ๋ฐ˜๊ฒฝ์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์žฅ ์ž‘๊ฒŒ ๋งŒ๋“ค๊ณ  ์‹ถ์œผ๋ฏ€๋กœ ํ‚ค ํ”„๋ ˆ์ž„์˜ ๊ฐ text-shadow๊ฐ’์— ๋Œ€ํ•œ ํ๋ฆผ ๋ฐ˜๊ฒฝ ๊ฐ’์„ ์ค„ 0%์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ธ”๋Ÿฌ์˜ ํฌ๊ธฐ๊ฐ€ ์ ์ฐจ์ ์œผ๋กœ ์ฐ๋ฌผ๋กœ ํ๋ฅด๊ณ  ๋งฅ๋™ ํšจ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

    @keyframes pulsate { 100% { /* Larger blur radius */ text-shadow: 0 0 4px #fff, 0 0 11px #fff, 0 0 19px #fff, 0 0 40px #0fa, 0 0 80px #0fa, 0 0 90px #0fa, 0 0 100px #0fa, 0 0 150px #0fa; } 0% { /* Smaller blur radius */ text-shadow: 0 0 2px #fff, 0 0 4px #fff, 0 0 6px #fff, 0 0 10px #0fa, 0 0 45px #0fa, 0 0 55px #0fa, 0 0 70px #0fa, 0 0 80px #0fa; } }

    ๋‹ค์‹œ ํ•œ๋ฒˆ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ผ๋ถ€ ์š”์†Œ์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‹ค์‹œ ๊ฐˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

    h1 { animation: pulsate 2.5s infinite alternate; }

    ์—ฌ๊ธฐ์— ๋ชจ๋“  ๊ฒƒ์ด ํ•จ๊ป˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๋ฏธ๋ฌ˜ํ•œ ๊นœ๋ฐ•์ž„

    ์•ฝ๊ฐ„์˜ ํ†ค์„ ๋‚ฎ์ถ”๊ณ  ๊นœ๋ฐ•์ด๋Š” ๋™์ž‘์„ ๋งค์šฐ ๋ฏธ๋ฌ˜ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ํ•ด์•ผ ํ•  ์ผ์€ 0% ํ‚ค ํ”„๋ ˆ์ž„์—์„œ ๋ธ”๋Ÿฌ ๋ฐ˜๊ฒฝ์˜ ํฌ๊ธฐ๋ฅผ ์•ฝ๊ฐ„ ์ค„์ด๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๋‹ค.

    @keyframes pulsate { 100% { /* Larger blur radius */ text-shadow: 0 0 4px #fff, 0 0 11px #fff, 0 0 19px #fff, 0 0 40px #f09, 0 0 80px #f09, 0 0 90px #f09, 0 0 100px #f09, 0 0 150px #f09; } 0% { /* A slightly smaller blur radius */ text-shadow: 0 0 4px #fff, 0 0 10px #fff, 0 0 18px #fff, 0 0 38px #f09, 0 0 73px #f09, 0 0 80px #f09, 0 0 94px #f09, 0 0 140px #f09; } }

    ํ”Œ๋ฆฌ์ปค ๋ง์ด ๋” ๋ฏธ๋ฌ˜ํ•˜๊ณ  ๋ธ”๋Ÿฌ ๋ฐ˜๊ฒฝ์˜ ๊ฐ์†Œ๊ฐ€ ๊ทธ๋‹ค์ง€ ํฌ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋นˆ๋ฒˆํ•œ ํ”Œ๋ฆฌ์ปค ๋ง์„ ๋ชจ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด์ด ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์ดˆ๋‹น ๋ฐœ์ƒํ•˜๋Š” ํšŸ์ˆ˜๋ฅผ ๋Š˜๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์• ๋‹ˆ๋ฉ”์ด์…˜์˜ ์ง€์† ์‹œ๊ฐ„์„ ์ค„์—ฌ์„œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค 0.11s.

    h1 { animation: pulsate 0.11s ease-in-out infinite alternate; }

    ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€ ์‚ฌ์šฉ

    ์šฐ๋ฆฌ ๊ฐ„ํŒ์ด ๋นˆ ๊ณต๊ฐ„์ด ์•„๋‹Œ ๋ฒฝ์— ๊ฑธ๋ ค ์žˆ๋‹ค๋ฉด ์ •๋ง ๊น”๋”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. Unsplash ๋“ฑ ์˜ ๋ฒฝ๋Œ ํ…์Šค์ฒ˜์™€ ๊ฐ™์€ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค .

    body { background-image: url(wall.jpg); }

    ํ…Œ๋‘๋ฆฌ ์ถ”๊ฐ€

    ๋งˆ์ง€๋ง‰์œผ๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์„ธ๋ถ€ ์‚ฌํ•ญ์€ ํ‘œ์ง€ํŒ ์ฃผ๋ณ€์˜ ์ผ์ข…์˜ ์›ํ˜• ๋˜๋Š” ์ง์‚ฌ๊ฐํ˜• ํ…Œ๋‘๋ฆฌ์ž…๋‹ˆ๋‹ค. ํ…์ŠคํŠธ ํ”„๋ ˆ์ž„์„ ๋งŒ๋“ค๊ณ  ์‹ค์ œ ์‚ฌ์ธ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•˜๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ํ…Œ๋‘๋ฆฌ์— ๊ทธ๋ฆผ์ž๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ํ…์ŠคํŠธ์™€ ๋™์ผํ•œ ๋„ค์˜จ ํšจ๊ณผ๋ฅผ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

    ํ…์ŠคํŠธ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋ฌด์—‡์ด๋“  ํ…Œ๋‘๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ์š”์†Œ ๋กœ๋งŒ ์ž‘์—…ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ๊ตญ๊ฒฝ์„ ์–ป๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. border์•ฝ์‹ ์†์„ฑ์„ ํ˜ธ์ถœํ•˜์—ฌ ์ œ๋ชฉ ์ฃผ์œ„์— ๋‹จ์ƒ‰์˜ ํฐ์ƒ‰ ํ…Œ๋‘๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ํ…์ŠคํŠธ์— ์ˆจ์„ ์‰ด ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์•ฝ๊ฐ„์˜ ํŒจ๋”ฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    h1 { border: 0.2rem solid #fff; padding: 0.4em; }

    border-radius์ œ๋ชฉ์— ์„์ ์šฉํ•˜์—ฌ ํ…Œ๋‘๋ฆฌ์˜ ๋ชจ์„œ๋ฆฌ๋ฅผ ์•ฝ๊ฐ„ ๋‘ฅ๊ธ€๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ์ •ํ™•ํ•œ ์ง„์›๋„๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ๊ฐ€์žฅ ์ ํ•ฉํ•œ ๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    h1 { border: 0.2rem solid #fff; border-radius: 2rem; padding: 0.4em; }

    ๋งˆ์ง€๋ง‰ ์กฐ๊ฐ์€ ๋น›์ž…๋‹ˆ๋‹ค! ์ž, text-shadow ์—ฌ๊ธฐ์˜ ๊ฒฝ๊ณ„์„ ์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด์ง€๋งŒ, ๊ทธ๊ฒƒ์ด box-shadow์†์„ฑ์ด ํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๊ตฌ๋ฌธ์€ ๋งค์šฐ ์œ ์‚ฌํ•˜๋ฏ€๋กœ ์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์ง„ ๊ฒƒ์„ ์ •ํ™•ํžˆ ๊ฐ€์ ธ text-shadow ์˜ค๊ณ  ๊ฐ’์„ ์•ฝ๊ฐ„ ์กฐ์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

    h1 { border: 0.2rem solid #fff; border-radius: 2rem; padding: 0.4em; box-shadow: 0 0 .2rem #fff, 0 0 .2rem #fff, 0 0 2rem #bc13fe, 0 0 0.8rem #bc13fe, 0 0 2.8rem #bc13fe, inset 0 0 1.3rem #bc13fe; }

    ๊ทธ insetํ‚ค์›Œ๋“œ ๊ฐ€ ๋ณด์ด์‹ญ๋‹ˆ๊นŒ? ๊ทธ๊ฒƒ์€ text-shadow ํ•  ์ˆ˜ ์—†๋Š” ์ผ์ด์ง€๋งŒ ํ…Œ๋‘๋ฆฌ์— ์ถ”๊ฐ€ํ•˜๋ฉด box-shadow์‹ค์ œ์ ์ธ ๊นŠ์ด๋ฅผ ์œ„ํ•ด ํ…Œ๋‘๋ฆฌ์˜ ์–‘์ชฝ์—์„œ ๋น›์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ ‘๊ทผ์„ฑ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

    ์‚ฌ์šฉ์ž๊ฐ€ ์›€์ง์ž„ ๊ฐ์†Œ๋ฅผ ์„ ํ˜ธํ•˜๋Š” ๊ฒฝ์šฐ prefers-reduced-motion๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ์ˆ˜์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ชจ์…˜ ๊ฐ์†Œ๋ฅผ ์„ ํ˜ธํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ํ…์ŠคํŠธ์— ๋” ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์˜ˆ๋ฅผ ๋“ค์–ด ์œ„์˜ ํŽœ์—์„œ ๊นœ๋ฐ•์ด๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ˆ˜์ •ํ•˜์—ฌ prefers-reduced-motionํ™œ์„ฑํ™” ํ•œ ์‚ฌ์šฉ์ž ๊ฐ€ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋ณผ ์ˆ˜ ์—†๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ ๋ฉธ ํšจ๊ณผ๋ฅผ ์š”์†Œ์—๋งŒ ์ ์šฉํ–ˆ์œผ๋ฏ€๋กœ์ด ์š”์†Œ์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋•๋‹ˆ๋‹ค.

    @media screen and (prefers-reduced-motion) { h1 { animation: none; } }

    ์‚ฌ์šฉ์ž์˜ ์„ ํ˜ธ๋„๋ฅผ ์ถฉ์กฑ์‹œํ‚ค๋Š” ๊ฒƒ์€ ๋งค์šฐ ์ค‘์š”ํ•˜๋ฉฐ, ์ด ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์›€์ง์ž„ ๊ฐ์†Œ๋ฅผ ์„ ํ˜ธํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ํšจ๊ณผ์— ๋” ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

    ๊ฒฐ๋ก 

    ์ด๊ฒƒ์ด ๋‹ค์Œ ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•ด ๋ฉ‹์ง„ ๋„ค์˜จ ํ…์ŠคํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์คฌ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค! ๋‹ค์–‘ํ•œ ๊ธ€๊ผด, ํ๋ฆผ ๋ฐ˜๊ฒฝ ํฌ๊ธฐ ๋ฐ ์ƒ‰์ƒ์œผ๋กœ ์‹คํ—˜ํ•˜๊ณ  ๋‹ค๋ฅธ ์• ๋‹ˆ๋ฉ”์ด์…˜๋„ ์‹œ๋„ํ•ด ๋ณด๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๊ฐ€๋Šฅ์„ฑ์˜ ์„ธ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต์œ ํ•˜๊ณ  ์‹ถ์€ ๊น”๋”ํ•œ ๊ทธ๋ฆผ์ž ํšจ๊ณผ๋ฅผ ๋งŒ๋“  ๊ฒฝ์šฐ ๋Œ“๊ธ€์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ์ฝ์–ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€