57 votes

CSS : positionner l'indicateur de chargement au centre de l'écran

Comment positionner mon indicateur de chargement au centre de l'écran. Actuellement, j'utilise un petit espace réservé et cela semble bien fonctionner. Cependant, lorsque je fais défiler vers le bas, l'indicateur de chargement reste dans cette position prédéfinie. Comment puis-je faire en sorte qu'il suive le défilement pour qu'il soit toujours au-dessus ??

 #busy
{
    position: absolute;
    left: 50%;
    top: 35%;
    display: none;
    background: transparent url("../images/loading-big.gif");
    z-index: 1000;
    height: 31px;
    width: 31px;
}

#busy-holder
{
    background: transparent;
    width: 100%;
    height: 100%;        
}

66voto

Kraz Points 2751

utiliser position:fixed au lieu de position:absolute

Le premier est relatif à la fenêtre de votre écran. (non affecté par le défilement)

La seconde est relative à la page. (affecté par le défilement)

Remarque : IE6 ne prend pas en charge la position : fixe.

53voto

L Ananta Prasad Points 989

 .loader{
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: url('//upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Phi_fenomeni.gif/50px-Phi_fenomeni.gif') 
              50% 50% no-repeat rgb(249,249,249);
}
 <div class="loader"></div>

25voto

Salim Points 302

C'est ce que j'ai fait pour Angular 4:

 <style type="text/css">  
  .centered {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transform: -webkit-translate(-50%, -50%);
    transform: -moz-translate(-50%, -50%);
    transform: -ms-translate(-50%, -50%);
    color:darkred;
  }
</style>

</head>

<body>
  <app-root>
        <div class="centered">
          <h1>Loading...</h1>
        </div>
  </app-root>
</body>

2voto

Anish Joseph Points 667

changer la position absolue de div occupé en fixe

2voto

Praveen Gopal Points 461

Vous pouvez utiliser cet OnLoad ou pendant la récupération des informations de DB

En HTML, ajoutez le code suivant :

 <div id="divLoading">
<p id="loading">
    <img src="~/images/spinner.gif">
</p>

En CSS, ajoutez le code suivant :

 #divLoading {
  margin: 0px;
  display: none;
  padding: 0px;
  position: absolute;
  right: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  background-color: rgb(255, 255, 255);
  z-index: 30001;
  opacity: 0.8;}

#loading {
   position: absolute;
   color: White;
  top: 50%;
  left: 45%;}

si vous voulez afficher et masquer de JS :

   document.getElementById('divLoading').style.display = 'none'; //Not Visible
  document.getElementById('divLoading').style.display = 'block';//Visible

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X