[CSS ๊ธฐ์ดˆ] Transform, Transition

Urtherยท2021๋…„ 10์›” 4์ผ
0

Html,Css

๋ชฉ๋ก ๋ณด๊ธฐ
9/12
post-thumbnail

๐Ÿด Transform (๋ณ€ํ˜•)

๋ฐ•์Šค๋ชจ๋ธ์ด๋‚˜ normal-flow์— ์›๋ž˜ ์žˆ๋Š” ์ž๋ฆฌ๊ฐ€ ์žˆ๋Š”๋ฐ ๊ทธ ์ž๋ฆฌ์—์„œ ํšŒ์ „, ๊ธฐ์šธ์ด๊ธฐ, ์›€์ง์ด๊ธฐ ๊ฐ€๋Šฅ !

๋ณ€ํ˜•์„ ์˜ค๋ฅธ์ชฝ์—์„œ๋ถ€ํ„ฐ ์™ผ์ชฝ์œผ๋กœ ํ•˜๋‚˜์”ฉ ์ˆœ์„œ๋Œ€๋กœ ์ ์šฉ

transform : rotate(10deg) translateY(5px)

โ†’ translateY ๋จผ์ € ์ ์šฉ, rotate ๋‹ค์Œ์œผ๋กœ ์ ์šฉ์ด ๋œ๋‹ค.

1. scale() โ†’ ํฌ๊ธฐ ์กฐ์ ˆ

  • 2D๋งŒ์„ ์œ„ํ•œ ํ•จ์ˆ˜, 3D๋กœ ์กฐ์ ˆ์€ ๋ชปํ•œ๋‹ค (sclale3d()๋ผ๋Š” ๋ณ„๋„์˜ func๊ฐ€ ์žˆ๋‹ค.)
transform : scale(sx);

transform : scale(sx,sy);

scale(0.5)๋ผ๊ณ  ํ•˜๋ฉด ๊ฐ€๋กœ๋„ 50%, ์„ธ๋กœ๋„ 50% ์ค„์–ด๋“ ๋‹ค.

๊ฐœ๋ฐœ์ž ๋„๊ตฌ์—์„œ๋Š” img ์‚ฌ์ด์ฆˆ๋Š” width, height๋Š” ๊ทธ๋Œ€๋กœ๋‹ค.
scale์€ ๊ทธ์ € ๋ˆˆ์— ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•จ์ด๋‹ค.

2. rotate() โ†’ angle์กฐ์ ˆ

<angle> ์€ ์‚ฌ์‹ค ์ž๋ฃŒํ˜•์ด๋‹ค.

deg : degree๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

  • 45deg โ†’ 45๋„๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

turn : ๋ฐ”ํ€ด๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

  • 2turn โ†’ 2๋ฐ”ํ€ด ๋Œ๋ฆฐ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

90deg = 0.25turn (1/4๋งŒํผ ๋Œ๋ฆฐ ๊ฒƒ์ด๋‹ˆ๊นŒ)

3. translate() โ†’ ์ด๋™์„ ๋‹ด๋‹น

transform:translate(sx);

transform:translate(sx,sy);

scale๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ x์ถ•, y์ถ• ์ด๋™์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
ํ•œ๊ฐ€์ง€๋งŒ ์ž…๋ ฅํ•œ๋‹ค๊ณ ํ•ด์„œ x์ถ• 200px, y์ถ• 200px ์›€์ง์ด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ (200px,0) ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

4. skew() โ†’ ๊ธฐ์šธ๊ธฐ

  • rotate() ์™€ ๋น„์Šทํ•˜๊ฒŒ deg๋ฅผ ์“ด๋‹ค.
transform:skew(sx);

transform:skew(sx,sy);

๊ฐ’์„ ํ•˜๋‚˜๋งŒ ์“ด ๊ฒƒ์€ skew(x,0); ์„ ํ•œ ๊ฒƒ๊ณผ ๋™์ผํ•˜๋‹ค.
๋‘๊ฐœ๋ฅผ ๋ชจ๋‘ ์“ด๊ฒƒ์€ x์ถ•์œผ๋กœ sx๋งŒํผ ๊ธฐ์šธ์ด๊ณ , y์ถ•์œผ๋กœ sy๋งŒํผ ๊ธฐ์šธ์ธ ๊ฒƒ์ด๋‹ค.

5.transform-origin

  • transform๊ณผ ์™„์ „ํžˆ ๋‹ค๋ฅธ property ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
transform-origin:top left;

๐Ÿ‘พ Transition

์‹œ๊ฐ„์ฐจ๋ฅผ ํ†ตํ•ด ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋ณ€๊ฒฝ๋œ๋‹ค. (์‹œ๊ฐ„์ด๋ผ๋Š” ๊ฐœ๋…์ด ์ถ”๊ฐ€๋œ๋‹ค.)

1. transition-property

transition-property : none ; ์•„๋ฌด๋Ÿฐ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ฒ ๋‹ค๋Š” ์˜๋ฏธ
transition-property : all; ๋ชจ๋“  property ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฒ ๋‹ค.
transition-property : margin-right; margin right๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฒ ๋‹ค.

2. transition-duration

: ์–ผ๋งˆ๋งŒํผ์˜ ์‹œ๊ฐ„์ด ์ง€๋‚˜๊ณ  ๋ฐ”๋€” ๊ฒƒ์ธ์ง€

transition-duration : 500ms;
transition-property : margin-right;

margin-right์— ํšจ๊ณผ๋ฅผ 500ms์˜ ์‹œ๊ฐ„์„ ๊ฐ€์ง€๊ณ  ๋ณ€๊ฒฝํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ๋‹ค.

transition-duration : 500ms, 600ms;
transition-property : margin-right, color;

margin right๋Š” 500ms , color๋Š” 600ms ๊ฑธ๋ฆฐ๋‹ค๋Š” ์˜๋ฏธ๋‹ค.
Unit : 1s=1000ms

- Example

.box{
  width:300px;
  height:80px;
  border: 2px dashed teal;
  background-color:darkslategray;
  font-size:50px;
  color:white;
  
  transition-property: all;
  /*๋ชจ๋“  property๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ*/
  transition-duration: 2s;
}

.box:hover{
  width:340px;
  background-color:indianred;
  font-size:60px;
}

๋งŒ์•ฝ transition-property์™€ transition-duration์„ .box:hover์— ๋„ฃ๋Š”๋‹ค๋ฉด ๋งˆ์šฐ์Šค ๋—„ ๋•Œ ํšจ๊ณผ๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค. (ex . ๋งˆ์šฐ์Šค๋–ผ๊ณ  2์ดˆ๋’ค ์›๋ž˜๋Œ€๋กœ ๋ณ€๊ฒฝ๋˜๋Š” ํšจ๊ณผ ์ ์šฉ X)

3. transition-delay

transition-delay ์š”์†Œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ผ๋•Œ, ์š”์†Œ๊ฐ€ ๋„๋ฏธ๋…ธ์ฒ˜๋Ÿผ ๋ณ€ํ•˜๋Š” ํšจ๊ณผ๋ฅผ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

4. transition-timing-function

A์—์„œ B์ƒํƒœ๋กœ ๋ณ€ํ•˜๋Š”๊ฒŒ ์ค‘๊ฐ„๊ณผ์ •์ด ์กด์žฌํ•œ๋‹ค.
ex) ๋นจ๊ฐ„์ƒ‰ -> ํŒŒ๋ž€์ƒ‰์œผ๋กœ ๋ณ€ํ•œ๋‹ค๋ฉด ์ค‘๊ฐ„๊ณผ์ •์€ ๋ณด๋ผ์ƒ‰์ด ๋  ์ˆ˜ ์žˆ๋‹ค.

transition-timing-function : ease;
transition-timing-funtion : linear
: ๋ณ€ํ•˜๋Š” ์†๋„๊ฐ€ ์„ ํ˜•์ ์ด๊ฒŒ ์ผ๊ด€์ ์œผ๋กœ ๋ณ€ํ•œ๋‹ค.

dynamicํ•œ ํšจ๊ณผ๋ฅผ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

- transition shortcut

. box{
...
...

transition-property: all;
transition-duration : 3s;
transition-delay: 1s;
transition-timing-funtion: ease-in-out;

์œผ๋กœ ์“ธ ์ˆ˜ ๋„ ์žˆ์ง€๋งŒ,

. box{
...
...

transition: all 3s ease-in-out 1s;

๋กœ ํ•œ ์ค„์— ์“ธ ์ˆ˜๋„ ์žˆ๋‹ค.
๋งจ ์•ž์—๋Š” transition-property๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ์“ด๋‹ค !


transition๊ณผ transform์„ ํ™œ์šฉํ•œ ์˜ˆ์ œ

.hover-ex{
  width:500px;
  height:300px;
  background-color: darkolivegreen;
  border-radius: 30px;
  
  transition: all 2s ease-in-out;
}

.hover-ex:hover{
  transform:rotate(360deg);
}
profile
์ด์ „ํ•ด์š” โ˜˜๏ธ https://mei-zy.tistory.com

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