【发布时间】:2019-01-19 22:42:46
【问题描述】:
我正在为我的网站使用 CSS3 设计的预加载器。
#preloader
{
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
@-webkit-keyframes moveup
{
0%, 60%, 100%
{
-webkit-transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg) translateZ(0);
transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg) translateZ(0);
}
25%
{
-webkit-transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg) translateZ(1em);
transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg) translateZ(1em);
}
}
@keyframes moveup
{
0%, 60%, 100%
{
-webkit-transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg) translateZ(0);
transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg) translateZ(0);
}
25%
{
-webkit-transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg) translateZ(1em);
transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg) translateZ(1em);
}
}
@-webkit-keyframes movedown
{
0%, 60%, 100%
{
-webkit-transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg) translateZ(0);
transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg) translateZ(0);
}
25%
{
-webkit-transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg) translateZ(-1em);
transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg) translateZ(-1em);
}
}
@keyframes movedown
{
0%, 60%, 100%
{
-webkit-transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg) translateZ(0);
transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg) translateZ(0);
}
25%
{
-webkit-transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg) translateZ(-1em);
transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg) translateZ(-1em);
}
}
.layer
{
display: block;
position: absolute;
height: 3em;
width: 3em;
box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.2);
-webkit-transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg);
transform: rotateX(50deg) rotateY(0deg) rotateZ(45deg);
}
.layer:nth-of-type(1)
{
background: #534a47;
margin-top: 1.5em;
-webkit-animation: movedown 1.8s cubic-bezier(0.39, 0.575, 0.565, 1) 0.9s infinite normal;
animation: movedown 1.8s cubic-bezier(0.39, 0.575, 0.565, 1) 0.9s infinite normal;
}
.layer:nth-of-type(1):before
{
content: '';
position: absolute;
width: 85%;
height: 85%;
background: #37332f;
}
.layer:nth-of-type(2)
{
background: #5a96bc;
margin-top: 0.75em;
}
.layer:nth-of-type(3)
{
background: rgba(255, 255, 255, 0.6);
-webkit-animation: moveup 1.8s cubic-bezier(0.39, 0.575, 0.565, 1) infinite normal;
animation: moveup 1.8s cubic-bezier(0.39, 0.575, 0.565, 1) infinite normal;
}
<!DOCTYPE html>
<html class="no-js" lang="en">
<head>
</head>
<body>
<!-- THEME PRELOADER AREA -->
<div id="preloader">
<i class='layer'></i>
<i class='layer'></i>
<i class='layer'></i>
</div>
<div class="wrapper">
Hi this is a demo content
</div>
</body>
</html>
我在使用这段代码时遇到的问题是,预加载器在站点加载时是可见的,其内容是 HTML 格式的。
即我想要带有背景白色的预加载器,这样无论 HTML 页面正在加载它都不可见。在当前场景中,预加载器也是可见的,背景 HTML 页面也是可见的。我想通过给 prealoder div 一个背景颜色来隐藏背景图像页面,这样它就不会在后面显示任何东西。
谁能帮我解决这个问题?
我编写了 JS 代码来删除加载页面的预加载器。我唯一遇到的问题是加载时背景内容的可见性。
【问题讨论】:
标签: html css css-transitions css-animations preloader