
μ¬μ΄νΈλͺ
: λ§₯λΆ
μμ
κΈ°κ°: 6.5μΌ μμ
λΌμ΄λΈλ¬λ¦¬: swiper, jQuery
μ ν: λ°μν, ν΄λ‘ μ½λ©
μ°Έμ¬λ: 100%
곡ν΅μΌλ‘ κΎΈλ°λλ μμμ κ°μ μ’νλ₯Ό μ‘λκ² μ’λ€.
νμ΄μ§ μμ€μμ faviconκ²μ ν μΆμΆ

μ λμ£Όμ μΆμΆ
https://μ£Όμ/favicon.icoλ₯Ό μ¬μ©ν΄μ£Όλ©΄ λλ€.[ video νκ·Έ ] HTML5λ‘ λμμ λ£λ λ°©λ². μ΄ κΈ νλλ©΄ λͺ¨λ κ³ λ―Ό λ!
<video autoplay muted class="video"> <source src="https://www.apple.com/105/media/us/macbook-air-m1/2022/648bb92f-0bb4-452c-bfbc-2898641b22f5/anim/hero/large.mp4" type="video/mp4"> </video>
- muted - μμκ±°
- autoplay - μλμ¬μ
- type - video
λ°μνμ brμ΄ νμν λ display:none , blockμ²λ¦¬ν΄μ£Όλ©΄λλ€.
div { animation: rgy 5s ease-in 1s infinite alternate forwards paused; }
μμν·κ°λ¦¬μ§ λ§κΈ°
name > duration > timing-function > delay > count > direction > fill-mode > play-stateμ λλ©μ΄μ μ΄λ¦ > μ¬μ μκ°(μ€ν μλ) > μλ 곑μ νμ > λλ μ΄ μκ° > λ°λ³΅ νμ >Β Β μ§ν λ°©ν₯ > μ’ λ£ ν μμΉ > μ€νorμ μ§
μ μ΄μΏΌλ¦¬λ₯Ό μ¬μ©νμ§ μκ³ κΈμκ° μ±μμ§μ μλ€!

λ΄κ° μ£Όλ €λ κΈμμ animation,text-fill-color,background-clip νμ!
text-fill-color - κΈ°μ‘΄ ν μ€νΈ μ
background-clip - μ¬μ©νλ €λ μμμ μμ μ΄λμ λλ €λμ§
.content.battery .headline{ animation: battery 1.5s linear forwards; background: linear-gradient(to top, #4cd265 50%, #fff 50%); background-size: auto 200%; -webkit-background-clip: text; background-clip: text; /* text-fill-color: transparent; */ -webkit-text-fill-color: transparent; /*ν¬λͺ */ }
μλ€λ₯΄μμλ κ³΅ν΅ ν΄λμ€λ₯Ό μ΄μ©νμ¬ μ½κ² 컨νΈλ‘€μ μ°μ΅νμ§λ§ λ΄κ° μ¬μ©μ μ μν¨ + λ무 λ§μ κ³΅ν΅ ν΄λμ€λ‘ μΈν΄ ν·κ°λ¦¬κ² λμλ€.
80* headline-super 56* headline-medium 32* desc-super 28* desc-large 19* desc-medium 21* title-normal
-μ΄λ ΅κ² μκ°νμ§ μκΈ°-
.headline-super{
font-size: 80px;
line-height: 1.15;
font-weight: 700;
}
π€ β μ λ³μ (var)λ‘ μμ°κ³ ν΄λμ€λ‘ μ£Όλμ??
ν΄λμ€κ° μ’ λ κ°νΈνκ³ κ°κ° κ³μ μ€μΌνλκ² λ§μλ° varλ cssκΉμ§ κ°μ μ€μΌνλ€.(κ°λ΄ μ곡μ )
.section .content-wrapper > * + *{margin-top: 24px;}
β .section .content-wrapperμ μ§κ³μμμ€ μ 체μ λ€μ€μ 첫λ²μ§Έ μμλΉΌκ³ μ 체μ λ€νν
{margin-top: 24px;} μ μ€λ€.
κ·Όλ° μ .content-wrapperμμ .contentλ‘ μ‘μ§ μκ³ *μ νμλ₯Ό μΌμκΉ?
β .content-wrapperμμλ .contentκ° μλ λ€λ₯Έμμλ μκΈ°λλ¬Έμ
.content.gpu > *:not(.video-area){z-index: 1;}λ΄κ° μ ννλ €λ .content.gpuμ μΈμ ν μ 체 μ λ€μ€μ .video-areaλΉΌκ³ (μλμ λ€μ) λ€ z-index: 1 μ€λΌ

컨ν μΈ λ€μ λ±λΆμ λ¬Άμ΄μ€λ col-2,col-3λ±μΌλ‘ λλ μ€λ€.
.grid-box .col-8{width: 80%;} μ λ°λ³΄λ€ μ΄μ§ ν° λΉμ¨μ 80% .grid-box .col-6{width: 60%;} μ λ°μ 60% .grid-box .col-4{width: 40%;} μ λ°λ³΄λ€ μ΄μ§ ν°μμ λΉμ¨μ 40%
π€ μ μ΄λ° νΌμΌνΈκ° λμμκΉ?
β κΈ°μ‘΄ μ ν macμμ 그리λλ‘ 12λ±λΆμ ν΄λ¨λ€.
λ flexλ‘ μ¬μ©νμμΌλ‘ κ·Έ λΉμ¨μ λ§μΆκΈ° μν΄ μ μ²΄κ° 120%λΌκ³ μκ° νκ³ μμμ κ³μ°ν΄μ€λ€!
π‘ μ£Όμν μ - 120%λ μ€μ§μ μΌλ‘ μ¬μ©ν μ μλ %μ΄λ€. 80%+40%κ° 120%μ¬λ flexλ μ΄ ν©μ΄ 100%λΌκ³ μκ°νλ€.
flex: 1μ λ°μΌλ‘ λλ μ€λ€λκ² μλλΌ 1λ1 λ‘ λ§λ€μ΄μ€λ€.
animation-play-state: paused; β λ©μΆ€
animation-play-state: running; β μμ

μ€ν¬λ‘€μ μ΄λ―Έμ§κ° λΆλλ½κ² λ°λκ² ν΄μΌν¨
μ²μμλ gsapλ₯Ό μ¨μ μμ
νμΌλ μ€ν¬λ‘€μ μμκ°μ μ¬λΌμ§λ μ€λ₯ λ°μ

μ΄λ°μ X
.to('.content.security .img-area',{ 'animation-delay': -72 },'a')κ° μ΄λ―Έμ§μ μ’νλ₯Ό μ λλ©μ΄μ μΌλ‘ λ§λ€μ΄λκ³ μ€ν¬λ‘€μ λλμλμ μ λλ©μ΄μ λλ μ΄λ₯Ό gsapμ λ£μ΄μ€λ€.
gsap νΈλ¦¬κ±°μ scrub(λΆλλ½κ²) νμ
animation: unlock 6s steps(1) forwards; animation-duration: 72s; animation-iteration-count: initial; /*무νλ°λ³΅ */ animation-play-state: paused; animation-delay: 0s; /*μ²μ μμμλκΉ*/
μ¬κΈ°μ κ°μ₯ μ€μν ν¬μΈνΈλ steps(1) κ° νλμ© μ΄λνλ κ² κ°μ μ΄κ±Έ μ¬μ©νλ©΄ λΆλλ½κ² μ°κ²°λλ€.
μ λλ©μ΄μ
μ μ°μμ μΈ μ νμ΄ μλλΌ λμ μ μλμ λ€.
backdrop-filterμμ λ€ μμμ νλ¦Όμ΄λ μμ μννΈ λ± κ·Έλν½ ν¨κ³Όλ₯Ό μ μ©ν μ μλ μμ±

λͺ¨λ°μΌμμλ§ λ³΄μ΄λμ λ€μ λ°λ‘ ν΄λμ€λ₯Ό μ£Όλκ² μ’λ€.
ex) mobile-visible, mobile-showβ¦.

<figure class="img-area"></figure>
μ₯μ β λͺ¨λ°μΌμμ, λ°μνν λ μ΄λ―Έμ§ κ΅μ²΄κ° μ½λ€!
π€ mac backgroundμ΄λ―Έμ§ μ¬μ΄μ¦κ° λ°μνλ§λ€ λ€ λ¬λΌμ
β κ·Έ μ¬μ΄μ¦λ§λ€ μ΅μ μ νμ§μ λ§κ² μ μλμ΄μκΈ° λλ¬Έμ!!!
λ°μνμ λ°λ₯Έ μ΄λ―Έμ§ λ³κ²½νκΈ°

gridλ₯Ό μ¬μ©νλ€λ©΄ μ½κ² λ μ΄μμμ λ§μΆμ μμ§λ§ flexλ₯Ό μ΄μ©νλ€λ©΄ λμ΄λ₯Ό λ§μΆ°μ£Όκ³ λΉμΉΈμ λ§λ€μ΄ μ£Όλ©΄ λλ€.

λ§μ°¬κ°μ§λ‘ flexλ₯Ό μ΄μ©νμμ νμ€λ§λ€ νλμ© λ¬Άμ΄λ²λ¦¬μ!