用旋转器覆盖

Web*_*net 37 html css

我正在尝试创建一个覆盖页面的叠加层,中间有一个微调器.实现这一目标的最简单方法是什么?我只需要担心IE 8及以上版本.

Dam*_*ito 63

使用css3类"spinner".它更漂亮,你不需要.gif

在此输入图像描述

.spinner {
   position: absolute;
   left: 50%;
   top: 50%;
   height:60px;
   width:60px;
   margin:0px auto;
   -webkit-animation: rotation .6s infinite linear;
   -moz-animation: rotation .6s infinite linear;
   -o-animation: rotation .6s infinite linear;
   animation: rotation .6s infinite linear;
   border-left:6px solid rgba(0,174,239,.15);
   border-right:6px solid rgba(0,174,239,.15);
   border-bottom:6px solid rgba(0,174,239,.15);
   border-top:6px solid rgba(0,174,239,.8);
   border-radius:100%;
}

@-webkit-keyframes rotation {
   from {-webkit-transform: rotate(0deg);}
   to {-webkit-transform: rotate(359deg);}
}
@-moz-keyframes rotation {
   from {-moz-transform: rotate(0deg);}
   to {-moz-transform: rotate(359deg);}
}
@-o-keyframes rotation {
   from {-o-transform: rotate(0deg);}
   to {-o-transform: rotate(359deg);}
}
@keyframes rotation {
   from {transform: rotate(0deg);}
   to {transform: rotate(359deg);}
}
Run Code Online (Sandbox Code Playgroud)

看起来像这样的例子:http://jsbin.com/roqakuxebo/1/edit

你可以在这里找到很多像这样的css微调器:http://cssload.net/en/spinners/


sel*_*ler 30

#overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    background: black url(spinner.gif) center center no-repeat;
    opacity: .5;
}
Run Code Online (Sandbox Code Playgroud)

最好使用rgba颜色而不是不透明度来防止将alpha应用于微调器图像.

background: rgba(0,0,0,.5) url(spinner.gif) center center no-repeat;
Run Code Online (Sandbox Code Playgroud)

  • 可能想添加`top:0; bottom:0;`使其覆盖整个页面 (3认同)

Nis*_* Up 7

这是简单的覆盖 div,不使用任何 gif,这可以应用到另一个 div 上。

<style>
.loader {
  position: relative;
  border: 16px solid #f3f3f3;
  border-radius: 50%;
  border-top: 16px solid #3498db;
  width: 70px;
  height: 70px;
  left:50%;
  top:50%;
  -webkit-animation: spin 2s linear infinite; /* Safari */
  animation: spin 2s linear infinite;
}
#overlay{
    position: absolute;
    top:0px;
    left:0px;
    width: 100%;
    height: 100%;
    background: black;
    opacity: .5;
}
.container{
    position:relative;
    height: 300px;
    width: 200px;
    border:1px solid
}

/* Safari */
@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
</style>

<h2>How To Create A Loader</h2>

<div class="container">
  <h3>Overlay over this div</h3>
  <div id="overlay">
      <div class="loader"></div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)