我创建了一个预加载器,我想在需要时使用 CSS3 过渡显示和隐藏,但是我的问题是我的覆盖位于所有其他元素之上,防止它们被点击等我想做的是使用 CSS3 过渡保持淡入淡出平滑柔和,如果我添加到display: none
.overlay 然后这会阻止过渡生效,所以想知道如何在不依赖 js 进行淡入淡出的情况下实现这一点?另外添加会有所帮助,但没有得到广泛支持,并且会阻止我的关闭按钮被点击。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/