2017-09-07 5 views
0

어떻게 진행중인 웹 응용 프로그램에 아래와 같은 애니메이션 실행 화면을 설정할 수 있습니까? 가능한가?애니메이션 실행 화면이있는 프로그레시브 웹 응용

Animated Launch Screen

+0

AFAIK,이 아직 지원되지 않습니다. 당신이 구현할 수있는 가장 가까운 것은 스플래시 화면을 사용하는 것입니다. [Chrome M47] (https://developers.google.com/web/updates/2015/10/splashscreen) 현재로, "스플래시 화면은 웹 앱 매니페스트에 보관 된 정보를 기반으로 동적으로 생성되며 이름 조합입니다 background_color 속성 및 아이콘 배열의 아이콘 중에서 장치에 대해 "128dp"에 가장 가까운 아이콘을 선택합니다. –

+0

[관련 SO 게시물] (https://stackoverflow.com/a/34376716/5995040, [스플래시 화면] (https://developers.google.com/web/tools/lighthouse/audits/custom- 스플래시 화면을 구성 할 수 있습니다. 도움이되기를 바랍니다. –

답변

1

현재 PWA 시작 화면은 색상, 로고 및 타이틀로 구성 될 수 있습니다. 좀 더 강력한 API를 제공하기 위해 일부 standards discussions happening가 있지만이 답변으로 인해 굳어진 것은 없습니다.

옵션은 표준 정적 스플래시 화면을 사용하고 앱의 콘텐츠에 애니메이션을 적용하는 것입니다. 다음은 PWA의 background_color과 일치하는 오버레이를 만든 다음 예제 코드를 사용하여 배경을 도구 모음에 애니메이션으로 나타냅니다. 분명히 당신은 색칠을 꼬집고 싶을 것이다. 슬라이드 업 애니메이션 대신 페이드 ​​인으로 전환 할 수도 있습니다.

<style> 
    #splash { 
    background-color: #2196F3; 
    position: fixed; 
    top: 0; 
    height: 100vh; 
    width: 100vw; 
    z-index: 10; 
    transition-property: top; 
    transition-duration: 300ms; 
    transition-delay: 300ms; 
    transition-timing-function: cubic-bezier(0.4, 0, 1, 1); 
    } 

    #splash.animate { 
    top: -100vh; 
    } 
</style> 

<script> 
    document.addEventListener('DOMContentLoaded',() => { 
    document.querySelector('#splash').addEventListener('transitionend', (event) => { 
     event.target.remove(); 
    }); 
    requestAnimationFrame(() => { 
     document.querySelector('#splash').classList.add('animate'); 
    }); 
    }); 
</script> 

<div id="splash"></div> 

Sample-Demo - Source