2017-09-07 71 views
0

如何將以下動畫啓動屏幕設置爲我的漸進式Web應用程序?可能嗎?具有動畫啓動屏幕的漸進式Web應用程序

Animated Launch Screen

+0

AFAIK,這尚不支持。你可以實現的最接近的是使用Splash屏幕。從[Chrome M47](https://developers.google.com/web/updates/2015/10/splashscreen)開始,「啓動畫面是根據Web App清單中保存的信息動態生成的,並且是名稱和background_color屬性,以及圖標陣列中最接近設備「128dp」的圖標。「 –

+0

也在此[相關SO帖子]中聲明(https://stackoverflow.com/a/34376716/5995040,[啓動畫面](https://developers.google.com/web/tools/lighthouse/audits/custom-啓動畫面是可配置的,希望這會有所幫助。 –

回答

1

目前PWA閃屏只能包含一種顏色,標誌和稱號。有一些standards discussions happening左右提供了一個更強大的API,但沒有什麼固化的答案。

一個選項是使用標準的靜態啓動畫面,然後爲您的應用程序的內容製作動畫。以下是一些示例代碼,可以創建與您的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

相關問題