TIL 2021.09.16 - 1์ฃผ์ฐจ โœ๏ธ

์ด๋ฏผ์˜ยท2021๋…„ 9์›” 17์ผ
0

๐Ÿ“์ด๋ฒˆ์ฃผ ํ•™์Šต ๋ชฉํ‘œ

  • ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ ๋ฐฐ์šฐ๊ธฐ
  • HTML/CSS ๋กœ ์›น์‚ฌ์ดํŠธ ์ œ์ž‘ํ•˜๊ธฐ
  • ๋ฆฌ๋ˆ…์Šค์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ธฐ
  • Git ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ธฐ

    ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ๐Ÿ’ช

    • html, css ํ•™์Šตํ•˜์—ฌ ์›น์‚ฌ์ดํŠธ ์ œ์ž‘ํ•˜๊ธฐ

<์˜ค๋Š˜ ๋ณต์Šต ํ•  ๋ชฉ๋ก>

  1. ๊ทธ๋ฆฌ๋“œ
  2. transform, transition, animation ์†์„ฑ
  3. ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ



1. ๊ทธ๋ฆฌ๋“œ

๋ ˆ์ด์•„์›ƒ ํ‘œํ˜„์„ ํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ ์ตœ์‹  ๊ธฐ๋Šฅ ๊ทธ๋ฆฌ๋“œ!
๋“ค์–ด๋ณธ์ ๋„ ์žˆ๊ณ  ํ•œ๋‘๋ฒˆ ๊ณต๋ถ€๋Š” ํ•ด๋ณด์•˜์ง€๋งŒ ์“ธ์ผ์ด ์—†๊ฒ ์ง€ ์‹ถ์–ด ๋Œ€๊ฐ• ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ”๋Š”๋ฐ,
๊ทธ๋ฆฌ๋“œ๋ฅผ ์ง€์›ํ•˜๋Š”๊ฒŒ 96% ๋ธŒ๋ผ์šฐ์ €๋ผ๊ณ  ํ•˜๋‹ˆ ์ถฉ๋ถ„ํžˆ ์‹ค๋ฌด์—์„œ๋„ ์จ๋„ ๋ ๊ฑฐ ๊ฐ™๊ณ 
์ด์ฐธ์— ์ œ๋Œ€๋กœ ๊ณต๋ถ€ํ•˜๊ณ  ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ€์ž!

  • ๊ทธ๋ฆฌ๋“œ ๋ฌธ๋ฒ•
<div class="container">
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item"></div>
</div>
.container{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
 /* grid-template-columns: repeat(3, 1fr); */
    grid-template-rows: 100px 500px;
}


2. transform, transition, animation ์†์„ฑ

์ง€๊ธˆ๊นŒ์ง€ html, css ์ž‘์—… ํ• ๋•Œ๋Š” ๋™์ ์ธ ์š”์†Œ๋ฅผ ๋„ฃ์ง€ ์•Š์•˜์–ด์„œ ์ž˜ ์‚ฌ์šฉ ํ•ด๋ณธ์  ์—†๋Š” ์†์„ฑ์ด์—ฌ์„œ ์‹ ๊ฒฝ์จ์„œ ์ž˜ ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ€์•ผ๊ฒ ๋‹ค ์ƒ๊ฐํ–ˆ๋‹ค. ๋งŒ์•ฝ ์ฒ˜์Œ ์ ‘ํ•˜์‹œ๋Š” ๋ถ„์ด๋ผ๋ฉด transform, translate, transition, animation ์ด๋ฆ„ ๋„ ๋น„์Šทํ•˜๊ณ  ์–ด๋””์— ์†์„ฑ์„ ๋„ฃ์–ด์•ผ ํ•˜๋Š”์ง€๋„ ๊ฝค๋‚˜ ํ—ท๊ฐˆ๋ ธ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์‹œ ํ•œ๋ฒˆ ์ •๋ฆฌ ํ•˜๊ณ  ๊ฐ€๋ฉด ์ข‹์„๊ฑฐ ๊ฐ™๋‹ค!

๋จผ์ €! ์ด๋ฆ„์ด ๋น„์Šทํ•˜๋‹ˆ๊นŒ ์šฉ์–ด ์ •๋ฆฌ๋ถ€ํ„ฐ ํ™•์‹คํ•˜๊ฒŒ!

transform - ์š”์†Œ์˜ ๋ชจ์–‘, ์œ„์น˜, ํฌ๊ธฐ๋ฅผ ๋ฐ”๊ฟ€์ˆ˜ ์žˆ๋Š” ์†์„ฑ
transition - ์ •ํ•ด์ง„ ์‹œ๊ฐ„๋™์•ˆ ์š”์†Œ์˜ ์†์„ฑ๊ฐ’์„ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋ณ€ํ™” ์‹œํ‚ค๋Š” ์†์„ฑ
animation - ์š”์†Œ์˜ ํ˜„์žฌ ์Šคํƒ€์ผ์„ ๋‹ค๋ฅธ ์Šคํƒ€์ผ๋กœ ์ฒœ์ฒœํžˆ ๋ณ€ํ™”์‹œํ‚ค๋Š” ์†์„ฑ


  • transform
    = transform ์€ ๋ชจ์–‘์˜ ๋ณ€ํ˜•์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ์ด๋‹ค. ๊ทธ ์ข…๋ฅ˜๋กœ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
  1. translate(x, y)
  2. rotate(deg)
  3. scale(x๋ฐฐ์œจ, y๋ฐฐ์œจ)
  4. skew(x-deg, y-deg)
  5. matrix(scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY())

ํ•ด๋‹น html์š”์†Œ์— transform์†์„ฑ์„ ์ง€์ •ํ•˜๋Š”๊ฑธ๋กœ ๋ณ€ํ™” ๋œ ๋ชจ์–‘์˜ ์š”์†Œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

  • transition
    = ์ •ํ•ด์ง„ ์‹œ๊ฐ„๋™์•ˆ ์š”์†Œ์˜ ์†์„ฑ๊ฐ’์„ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋ณ€ํ™” ์‹œํ‚ค๋Š” ์†์„ฑ์ด๋‹ค.
    animation๊ณผ ๋‹ฌ๋ฆฌ ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ๋˜๋Š” ์žฅ์น˜๋ฅผ ์„ค์ • ํ›„ ์•ก์…˜์ด ์ผ์–ด๋‚œ๋‹ค. 1ํšŒ์„ฑ์˜ ์›€์ง์ž„์œผ๋กœ ์ดํ•ดํ–ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ๋งˆ์šฐ์Šค๋ฅผ ํด๋ฆญํ•˜๋ฉด ํฌ๊ธฐ๊ฐ€ ์ปค์ง„๋‹ค๊ฑฐ๋‚˜ ๋งˆ์šฐ์Šค ํ˜ธ๋ฒ„๋ฅผ ํ•˜๋ฉด ์ƒ‰๊น”์ด ๋ฐ”๋€Œ๊ฑฐ๋‚˜ ํ•˜๋Š” 1ํšŒ์„ฑ ์›€์ง์ž„์„ ์ปจํŠธ๋กค ํ• ๋•Œ๋Š” transition ์†์„ฑ์„ ๋งŒ๋“ค์–ด์ค€๋‹ค.
/* transition ์†์„ฑ ์ž‘์„ฑ ๋ฌธ๋ฒ• */
.transition {
    transition-property: all;
    transition-duration: 1000ms;
    transition-timing-function: linear;
    transition-delay: 3000ms;
}

/* ๋งˆ์šฐ์Šค๋ฅผ ํ˜ธ๋ฒ„ํ•˜๋ฉด ์ƒ‰๊น”์ด ๋ฐ”๋€Œ๋Š” ์›€์ง์ž„์„ ์„ค์ •ํ•˜๋Š” ์˜ˆ์ œ๋กœ ์•Œ์•„๋ณด์ž */
.box1 {
    color: blue;
    transition: color 0.3s linear; 
}
.box1:hover{
    color: red;
}
// 0.3์ดˆ ๋™์•ˆ ์ƒ‰๊น”์ด blue ์—์„œ red๋กœ ์ผ์ •ํ•œ ์†๋„๋กœ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋ณ€ํ™” 


  • animation
    = ์š”์†Œ์˜ ํ˜„์žฌ ์Šคํƒ€์ผ์„ ๋‹ค๋ฅธ ์Šคํƒ€์ผ๋กœ ์ฒœ์ฒœํžˆ ๋ณ€ํ™”์‹œํ‚ค๋Š” ์†์„ฑ์ด๋‹ค.
    ๋‚ด๊ฐ€ ํŠน๋ณ„ํžˆ ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ๋˜๋Š” ์•ก์…˜์„ ์ทจํ•˜์ง€ ์•Š์•„๋„ ์„ค์ •ํ•ด๋†“์œผ๋ฉด ์ž๋™์œผ๋กœ ์›€์ง์ธ๋‹ค.
/* animation ์†์„ฑ ์ž‘์„ฑ ๋ฌธ๋ฒ• */
.animation{
    animation-name: makeAnimationName;
    animation-duration: 5s;
    animation-timing-function: linear;
    animation-delay: 1s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}
@keyframes makeAnimationName{
    from{ width: 300px }
    to{ width: 600px }
}

/* ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•˜๋Š” ์›€์ง์ž„์„ ์„ค์ •ํ•˜๋Š” ์˜ˆ์ œ๋กœ ์•Œ์•„๋ณด์ž */
.animation {
        width: 300px;
        height: 300px;
        background-color:orange;
        animation: changeWidth 3s linear 1s 6 alternate;
    }
    @keyframes changeWidth{
        from{ width: 300px; }
        to{ width: 600px; }
    }

3.๋ฏธ๋””์–ด ์ฟผ๋ฆฌ

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋„ ๋ช‡๋ฒˆ ๋‹ค๋ค„๋ณธ์  ์žˆ์–ด์„œ ์ƒ์†Œํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ์š”์ƒˆ๋Š” ์‚ฌ์šฉ์„ ์•ˆํ–ˆ์–ด์„œ ๋‹ค์‹œ ์ฒดํฌ์ฒดํฌ ํ•˜๊ณ  ๋„˜์–ด๊ฐ€๊ธฐ!


  • ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์‚ฌ์šฉ์‹œ ์ฃผ์˜์‚ฌํ•ญ
    ๋ชจ๋ฐ”์ผ ๋””๋ฐ”์ด์Šค์—์„œ๋„ ์˜๋„ํ•œ ํ™”๋ฉด์„ ๋ณด๊ฒŒ ํ•˜๋„๋ก ์•„๋ž˜ ์ฝ”๋“œ ๊ผญ ๋„ฃ์–ด์ฃผ๊ธฐ!
<head>
    <meta name="viewport" content=โ€œwidth=device-width, initial-scale=1.0โ€>
</head>
  • ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๋ฌธ๋ฒ•
@media (min-width: 320px) and (max-width: 640px){
    .media{
    	//์›ํ•˜๋Š” ๋‚ด์šฉ ์ž…๋ ฅ
    }
}
profile
ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋ฅผ ๊ฟˆ๊พธ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค !

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

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด