これらのいずれかのような垂直方向に中央に配置されたローディングスピナーをWebページに表示したいと思います https://github.com/jlong/css-spinners 。そのページのcodepen.ioリンクをたどって、それらが動いていることを確認してください。
CSSを介してこれを行うにはどうすればよいですか? Python、Twitter Bootstrap、Polymer)に基づくGoogle AppEngineアプリケーションを扱っていると考えてください。
「プラス」スピナーを使用するとします。これを、ページ全体をカバーする固定位置divでラップできます。
<div id="pluswrap">
<div class="plus">
Loading...
</div>
</div>
幅が異なるさまざまなスピナーを使用したい場合があるため、CSSで幅をハードコーディングしないでください。フレックスボックスでアイテムを垂直方向に中央揃えにしてから、水平方向に中央揃えにするアイテムでmargin: 0 auto;
を使用できます。
#pluswrap {
position: fixed;
width: 100%;
height:100%;
display: flex;
align-items: center;
top: 0;
}
.plus {
display: flex;
margin: 0 auto;
}
このようにして、背景に色を付けたり、半透明にすることもできます。
これが JSFiddle
恐れているGoogleApp Engineについては何も知りませんが、幅と高さのある要素を中央に配置するのは非常に簡単です。
これは固定位置の要素だと思いますので、上、右、左、下を使用してから、margin:autoを使用して垂直方向と水平方向の中央に配置します。
例えば.
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<style>
.spinner{
position:fixed;
z-index:99;/* make higher than whatever is on the page */
top:0;
left:0;
right:0;
bottom:0;
margin:auto;
background:red;
width:100px;
height:100px;
}
</style>
</head>
<body>
<div class="spinner"></div>
</body>
</html>
<div id="pluswrap">
<div class="plus">
Loading...
</div>
</div>
#pluswrap {
position: fixed;
width: 100%;
height:100%;
display: flex;
top: 0;
}
.plus {
margin: auto;
}
親へのdisplay:flex
とmargin: auto
のみが必要なことを行います。
これが JS Fiddle