CSS3トランジションを使用して、必要に応じて表示および非表示にするプリローダーを作成しましたが、オーバーレイが他のすべての要素の上にあり、クリックできないなどの問題があります。フェードイン アウト フェード アウト スムーズでdisplay: none
ソフトdisplay:block
。.overlay.is-active
また、追加pointer-events: none
すると少しは役立ちますが、広くサポートされておらず、閉じるボタンをクリックできなくなります。
CSS
.overlay,
.loading {
top: 0; right: 0; bottom: 0; left: 0;
margin: auto;
}
.overlay {
background: rgba(0,0,0,.6);
position: fixed;
/* display: none; */
opacity: 0;
-webkit-transition: opacity .3s;
}
.overlay.is-active {
/*display: block;*/
opacity: 1;
}
.close {
width: 30px;
height: 30px;
background: grey;
color: white;
text-align: center;
display: block;
position: absolute;
top: 30px;
right: 30px;
z-index: 200;
}
.loading {
position: absolute;
color: white;
text-align: center;
}
JSFiddle: http://jsfiddle.net/ejnpP/3/