Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8901

Blazorの初期読み込み画面(Loading)を変更する

$
0
0

概要

Blazorで起動時のローディング画面を変更するための方法のメモ。

デモ
ソースコード

load.gif

背景

BlazorのデフォルトテンプレートからWEBサイトを作成すると、起動時のローディング画面は下図のような[Loading...]と表示されるだけの非常にシンプルな画面となっています。

loading.png

少し味気ないので、今風のWEBサイトのようにアニメーションでローディング画面を表示できるようにしたいと思います。

実装方法

変更対象のファイル

wwwroot直下のindex.htmlが対象のファイルになります。

wwwroot
├ index.html
…(略)

中を見ると下記のようにLoading...と記載されたappタグがあります。
この部分を変更することで、ローディング画面をおしゃれにできます。

index.html
<!DOCTYPE html><html><head>…(略)
</head><body><app>Loading...</app>…(略)
</body>

CSSの追加

該当の個所にスピナーを埋め込みます。
今回は下記のようなシンプルなCSSで実現しているものを埋め込みます。
https://projects.lukehaas.me/css-loaders/

お好みの色の設定をして、ViewSourceを押せばCSSが出力されるので取得します。

loader.css
.loader,.loader:before,.loader:after{border-radius:50%;width:2.5em;height:2.5em;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation:load71.8sinfiniteease-in-out;animation:load71.8sinfiniteease-in-out;}.loader{color:#ff8000;font-size:10px;margin:80pxauto;position:relative;text-indent:-9999em;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation-delay:-0.16s;animation-delay:-0.16s;}.loader:before,.loader:after{content:'';position:absolute;top:0;}.loader:before{left:-3.5em;-webkit-animation-delay:-0.32s;animation-delay:-0.32s;}.loader:after{left:3.5em;}@-webkit-keyframesload7{0%,80%,100%{box-shadow:02.5em0-1.3em;}40%{box-shadow:02.5em00;}}@keyframesload7{0%,80%,100%{box-shadow:02.5em0-1.3em;}40%{box-shadow:02.5em00;}}

画面の中央に配置するためのレイアウトのCSSを追加します。

loader.css
.loading{position:fixed;left:0px;top:0px;width:100%;height:100%;z-index:9999999999;overflow:hidden;}

作成したCSSの参照を追加し、appタグ内にスピナーを配置すれば完了です。

index.html
<!DOCTYPE html><html><head>…(略)
    <linkhref="css/loader.css"rel="stylesheet"/></head><body><app><divclass="loading"><divclass="loader"><divclass="dot-loader"></div><divclass="dot-loader dot-loader--2"></div><divclass="dot-loader dot-loader--3"></div></div></div></app>…(略)
</body>

以上で完了です。

CSSのスピナー等、いろいろなリソースがありますので、自分の好みに合わせて変えてみてください。
下記などもよさそうです。
https://github.com/jlong/css-spinners

参考

https://projects.lukehaas.me/css-loaders/

デモ
ソースコード


Viewing all articles
Browse latest Browse all 8901

Trending Articles