λ€μ΄λ²λ λ€μμ μΉνμ΄μ§μμ tab
ν€λ₯Ό λλ¬λ³΄λ©΄ λΈλΌμ°μ μ μ’μλ¨μ μλμ κ°μ λ©λ΄κ° λ¨λ κ²μ λ³Ό μ μλ€.μ΄κ²μ skip navigation νΉμ skip menuλΌκ³ λΆλ₯΄λ©°, νμ΄μ§μ νμλ μλ§μ 컨ν
μΈ μ μμ½κ² μ κ·Όν μ μλλ‘ λμμ£Όλ κΈ°λ₯μ΄λ€. μΉ μ κ·Όμ±κ³Ό μ¬μ©μ νΈμμ± ν₯μμ λμλλ€.
<body>
νκ·Έ λ€μμ μμ±ν λ€ νλ©΄μ 보μ΄μ§ μκ² μ¨κ²Όλ€κ° focusλ activeκ° λλ©΄ λ±μ₯νλλ‘ νλ€.
<body>
<div class="nav-skip">
<a href="#cont-nav">μν μ 보 λͺ©λ‘ λ°λ‘κ°κΈ°</a>
<a href="#cont-company">νμ¬μ 보 λ°λ‘κ°κΈ°</a>
</div>
...
<nav id="cont-nav"></nav>
<body/>
.nav-skip a {
position: absolute;
top: -200px;
left: 0;
width: 300px;
line-height: 30px;
border: 1px solid #fff;
color: #fff;
background: #333;
text-align: center;
}
.nav-skip a:active,
.nav-skip a:focus {
top: 0;
}
X, Y μΆμ κΈ°μ€μΌλ‘ XμΆμ μ’μ°, YμΆμ μνλ‘ κΈ°μΈμ΄λ(λΉνΈλ) ν¨κ³Όλ₯Ό μ€λ€.
λ¨μλ degμ΄λ©°,
X μΆμ μμ κ°μ μ°μΈ‘, μμ κ°μ μ’μΈ‘μΌλ‘ κΈ°μΈμ΄κ³ ,
Y μΆμ μμ κ°μ μλμͺ½, μμ κ°μ μμͺ½μΌλ‘ κΈ°μΈμ΄λ ν¨κ³Όλ₯Ό μ€λ€.
transform λλ 물체μ κΈ°μ€μ μ κΈ°λ³Έμ μΌλ‘ μ€μ¬μΈλ° κ·Έ κΈ°μ€μ μ λ°κΎΈλ μμ±μ΄λ€.
top, bottom, left, right, center
λ transform-origin: 0, 0;
νμμ μ΄μ©ν΄ μ«μλ‘ μ€μ ν μ μμΌλ©° μμ μ«μλ xμΆ κ°, λ€μ μ«μλ yμΆ κ°μ μλ―Ένλ€.
transform-origin: left top;
μ μ μ©ν λ€ rotate
CSS μμ±κ°μ΄ λ³ν λ, κ°μ λ³νκ° μΌμ μκ°μ κ±Έμ³ μΌμ΄λλλ‘ νλ μμ±μ΄λ€.
μΆμ½νμΌλ‘ μλμ κ°μ΄ μ΄λ€.
transition-property
: transition
ν¨κ³Όλ₯Ό μ μ©μν¬ μμ±
transition-duration
: λ³νλ₯Ό κ²ͺλ μκ°μΌλ‘ λ¨μλ sλ ms
transition-delay
: transition
μ΄ λͺ μ΄ νμ μμν μ§ μ ν΄μ£Όλ μμ±
λ³ν μλμ λ€μμ±μ μ£Όλ μμ±μΌλ‘
ease, linear, ease-in, ease-out, ease-in-out, step-start, step-end, steps(int, start|end), initial, inherit
λ±μ΄ μμ§λ§, μ μμ±λ€ μ λΆ cubic-bezier(n, n, n, n)
λ‘ λ§λ κ°λ€μ ν리μ
μ΄λ―λ‘ λμ± μμΈν 컀μ€ν
ν μ μλ μ¬μ§κ° μλ€. κ°λ°μ λꡬμμ νμΈ κ°λ₯.
cubic bezier μμΉλ₯Ό μ‘°μ ν΄λ³΄κ³ λ°λ‘ μμλ₯Ό νμΈν μ μλ μ¬μ΄νΈ
animation
μ transition
κ³Ό λ§μ°¬κ°μ§λ‘ μμμ μμ§μ΄λ ν¨κ³Όλ₯Ό μ€λ€λ 곡ν΅μ μ΄ μμ§λ§ μμ μνμ λν μμ‘΄ μ¬λΆμμ μ°¨λ³μ μ κ°λλ€. transition
μ μμμ μνκ° λ³κ²½λμ΄μΌ μ λλ©μ΄μ
μ μ€νν μ μμ§λ§, animation
μμ±μ μμμ μν λ³ν μμ΄ μ€νμν¬ μ μλ€.
animation
μ @keyframes
λ₯Ό μ΄μ©νμ¬ μμ±ν λ€ μμμ μ μ©νλλ°, μλμ κ°μ΄ μΆμ½νμ μ¬μ©ν μ μλ€.
@keyframes name {
from {
...
}
to {
...
}
}
tag {
animation: name duration timing-function delay iteration-count direction fill-mode;
}
iteration-count
: μ λλ©μ΄μ
μ μΌλ§λ λ°λ³΅ν μ§ μ νλ€./* [ μ λλ©μ΄μ
μ΄ μ¬μλμ§ μλ κ²½μ° ] */
animation-iteration-count: 0; /* μ¬μνμκ° 0μΈ κ²½μ° */
animation-iteration-count: -3; /* μ¬μνμκ° μμμΈ κ²½μ° */
/* [ μ λλ©μ΄μ
μ΄ μ¬μλλ κ²½μ° ] */
animation-iteration-count: 3; /* μ¬μνμκ° μμμΈ κ²½μ° */
animation-iteration-count: 1.5; /* μ¬μνμκ° μ€μμΈ κ²½μ° */
animation-iteration-count: infinite; /* μ λλ©μ΄μ
μ 무ν λ°λ³΅ν κ²½μ° */
direction
: μ λλ©μ΄μ
μ μ§νλ°©ν₯(μν, μν)μ μ νλ€.animation-direction: normal; /* μλ°©ν₯ μ¬μ */
animation-direction: reverse; /* μλ°©ν₯ μ¬μ */
animation-direction: alternate; /* μλ°©ν₯ μμ, μλ°©ν₯-μλ°©ν₯ λ²κ°μ μ¬μ */
animation-direction: alternate-reverse; /* μλ°©ν₯ μμ, μλ°©ν₯-μλ°©ν₯ λ²κ°μ μ¬μ */
alternate
μ alternate-reverse
λ μλ‘ λ°λμ κ²°κ³Όλ₯Ό 보μ¬μ€λ€. alternateμ μλ°©ν₯μΌλ‘ μ λλ©μ΄μ
μ μμν΄ μ€ν νμκ° νμμΌ λμλ μλ°©ν₯μΌλ‘, μ§μμΌ λμλ μλ°©ν₯μΌλ‘ μ¬μνλ€. λ°λ©΄, alternate-reverse
λ μλ°©ν₯μΌλ‘ μ λλ©μ΄μ
μ μμν΄ μ€ν νμκ° νμμΌ λμλ μλ°©ν₯μΌλ‘, μ§μ μΌ λμλ μλ°©ν₯μΌλ‘ μ¬μνλ€.
fill-mode
: μ λλ©μ΄μ
μ΄ λλ νμ μνλ₯Ό κ²°μ νλ€.animation-fill-mode: none; /* μ λλ©μ΄μ
μ΄ λλ ν μνλ₯Ό μ€μ νμ§ μμ */
animation-fill-mode: forwards; /* μ λλ©μ΄μ
μ΄ λλ ν κ·Έ μ§μ μ κ·Έλλ‘ μμ */
animation-fill-mode: backwards; /* μ λλ©μ΄μ
μ΄ λλ ν μμμ μΌλ‘ λμμ΄ */
animation-fill-mode: both; /* μ λλ©μ΄μ
μ΄μ μ λ€ κ²°κ³Όλ₯Ό μ‘°ν©νμ¬ μ€μ */
animation-fill-mode: inherit; /* μ λλ©μ΄μ
μ μνλ₯Ό μμ μμνν
μμ */
animation-play-state
play-state
μμ±μ μ¬μ©νλ€. κ°μ΄ running
μΌ κ²½μ° μ λλ©μ΄μ
μ μ¬μνκ³ , paused
μΌ κ²½μ° μ λλ©μ΄μ
μ μ μ§νλ€. μλ°μ€ν¬λ¦½νΈλ₯Ό μ΄μ©ν΄ μ λλ©μ΄μ
μ μ μ΄ν λ νμ© κ°λ₯ν κ² κ°λ€.μμμ μκ·Όκ°μ λΆμ¬νλ μμ±μ΄λ€.
μμ κ°μ μμμ transform: rotate(45deg);
λ₯Ό λΆμ¬ν΄λ³΄κ² λ€.
물체λ λΆλͺ
νμ λμμ§λ§ μκ·Όκ°μ΄ μμ΄ λμ΄κ° μ€μ΄λ νλ©΄μΌλ‘ 보μΈλ€
perspective: 200px;
μ λΆμ¬νλ μκ·Όκ°μ΄ μ겨 νμ νμμ νμ€ν μ μ μλ€.
perspective: 100px;
λ‘ μ€μ΄λ λ³νλμ΄ λ ν¬κ² λκ»΄μ§λ€. μ΄λ perspectiveμ κ°μ΄ μ€μ΄λ€μλ‘ λ¬Όμ²΄κ° μ°λ¦¬μ λμ κ°κΉμμ‘κΈ° λλ¬Έμ΄λΌκ³ μκ°νλ©΄ λλ€.
μλλ νλμ λΆλͺ¨ μμμ 6κ°μ μμμμλ₯Ό λ£κ³ λͺ¨λ transform: rotateY(45deg)
λ₯Ό λΆμ¬ν κ²°κ³Όμ΄λ€.
λͺ¨λ μμ μμμ κ°μ κ°λλ₯Ό λΆμ¬νλλ° λκ°μ λͺ¨μμΌλ‘ λμ€μ§ μμ κ±Έ λ³Ό μ μλ€. μ΄κ²μ μμ€μ (vanishingΒ point)μ΄ λ€λ₯΄κΈ° λλ¬Έμ΄λ€. λΆλͺ¨κ° μ¬λ¬ μμμ κ°μ§ μνμμ μμμκ² YμΆ κΈ°μ€μΌλ‘ νμ μ μμΌ°μ λ λ°λΌλ³΄λ νλ©΄μ μ λ©΄μ΄ μλλΌ μ°μΈ‘ μ€μ κΈ°μ€μ΄λ€.
μ΄ κ°μ μ‘°μ νκ³ μΆλ€λ©΄ perspective-originμ μ¬μ©νλ€. μ²μ κ°μ perspective-origin: 50% 50%;
μ΄λ€.
css-tricksμ μ€λͺ
κΈμ¨κ° μ°μ¬μ§ μμλ₯Ό νμ μν¬ λ μμμ μΌλ‘ λ€μμ κΈμ¨κ° μ 보μ¬μΌν κ² κ°μ§λ§, μ€μ λ‘ λ³΄μΈλ€. backface-visibility: hidden;
μΌλ‘ μ 보μ΄κ² μ€μ ν μ μλ€.
πππ