如何在HTML5/CSS3中完全加载页面之前显示进度条?

Nik*_*kar 2 javascript css jquery html5 css3

我想要一个Flash网站来加载我的html5/css3网页.

页面应仅在完全呈现时显示.在显示之前,必须出现一个加载栏.

我该怎么办?除了HTML5和CSS3,我还需要其他东西吗?

请给我提供教程.

Cod*_*ker 9

在页面的开头放一个div(这是一个微调器,而不是一个加载栏......但......)

    <div id="work-in-progress">
        <div class="work-spinner"></div>
    </div>
Run Code Online (Sandbox Code Playgroud)

然后使用JQuery绑定到load事件......在加载页面时会触发它

  $(window).bind("load", function () {
        $('#work-in-progress').fadeOut(100);
    });
Run Code Online (Sandbox Code Playgroud)

并添加一些CSS到div

#work-in-progress {
  position: fixed;
  width: 100%;
  height: 100%;
  font-size: 150px;
  text-align: center;
  vertical-align: middle;
  color: #000000;
  z-index: 200000;
  background-color: #FFFFFF;
}

.work-spinner {
  background-color: rgba(0,0,0,0);
  border: 9px solid rgba(27,61,226,0.9);
  opacity: .9;
  border-left: 5px solid rgba(0,0,0,0);
  border-radius: 120px;
  -webkit-box-shadow: 0 0 35px #1B3DE2;
  box-shadow: 0 0 35px #1B3DE2;
  width: 100px;
  height: 100px;
  margin: 0 auto;
  -moz-animation: spin .5s infinite linear;
  -webkit-animation: spin .5s infinite linear;
  -o-animation: spin .5s infinite linear;
  animation: spin .5s infinite linear;
}

@-moz-keyframes spin {
 from {
     -moz-transform: rotate(0deg);
 }
 to {
     -moz-transform: rotate(360deg);
 }
}

@-webkit-keyframes spin {
 from {
     -webkit-transform: rotate(0deg);
 }
 to {
     -webkit-transform: rotate(360deg);
 }
}

@keyframes spin {
 from {
     transform: rotate(0deg);
 }
 to {
     transform: rotate(360deg);
 }
}
@-o-keyframes spin {
 from {
     transform: rotate(0deg);
 }
 to {
     transform: rotate(360deg);
 }
}
Run Code Online (Sandbox Code Playgroud)

  • 是的,因为我不知道页面的"百分比"已经加载了.而且我不想要"MS" - 风格:"99%完成2秒30秒......嘿嘿 (3认同)

cam*_*enl 5

pimboden 的回答很好,但它需要实际的关键帧来制作动画。

这是缺少的CSS:

@-moz-keyframes spin {
     from {
         -moz-transform: rotate(0deg);
     }
     to {
         -moz-transform: rotate(360deg);
     }
 }

 @-webkit-keyframes spin {
     from {
         -webkit-transform: rotate(0deg);
     }
     to {
         -webkit-transform: rotate(360deg);
     }
 }

 @keyframes spin {
     from {
         transform: rotate(0deg);
     }
     to {
         transform: rotate(360deg);
     }
 }
 @-o-keyframes spin {
     from {
         transform: rotate(0deg);
     }
     to {
         transform: rotate(360deg);
     }
 }
Run Code Online (Sandbox Code Playgroud)