2017-08-31 3 views
-3

Example of what I wantComment je peux faire cette barre de progression?

Salut, ma question est simple, il suffit de regarder à la photo ci-dessus :)

Comment puis-je faire cela?

Si je mets un arrière-plan sur la partie progression de la barre, quand la progression est sur 10%, l'arrière-plan remplira tous les 10%, mais je ne veux montrer que 10% de l'arrière-plan! Peut-être que la solution consiste à placer une barre de progression grise au-dessus de la barre de progression du dégradé de 100%, mais je dois faire un rayon de bordure inversé ... Je pense que ce n'est pas possible. ?

+0

en double de https://stackoverflow.com/questions/29519868/bootstrap-progress-bar-with-gradient-color-showing-proportionally-on-active-widt/29625609 –

+0

@RogerNg Je ne suis pas d'accord avec le fait qu'il s'agit d'un doublon ... il n'y a aucune mention de "barre de progression bootstrap". –

+1

Vous pouvez ajouter votre code ici et demander de l'aide à ce sujet plutôt que d'essayer simplement d'obtenir un code de copier-coller de la communauté SO. Je vois dans la section des commentaires sous la réponse par @NickGrealy vous continuez à dire que ça ne fonctionne pas. Il a donné une réponse en fonction de votre question, il a pris son temps pour écrire cette partie du code pour vous. Si cela ne fonctionne pas, alors travaillez sur ce code pour le faire fonctionner. Et vous n'avez pas dit merci pour son temps, c'est pourquoi la communauté SO besoin d'arrêter de répondre à ce type de questions. – Sand

Répondre

0

j'utiliser un backgroun D gradient linéaire pour la barre colorée, et définissez la largeur à la même que la largeur de la barre de progression.

à-direbackground: linear-gradient(to right, yellow, #BD3D3D 100%);

par exemple,

.progressbar { 
 
    background: lightgray; 
 
    width: 300px; 
 
    height:20px; 
 
    border-radius: 10px; 
 
    margin-bottom: 10px; 
 
} 
 
.progressbar>.progress{ 
 
    height:20px; 
 
    background: linear-gradient(to right, yellow, #BD3D3D 300px); 
 
    border-radius: 10px; 
 
} 
 

 
/* set some custom progresses */ 
 

 
.progressbar:nth-child(1)>.progress{ 
 
    width: 25%; 
 
} 
 
.progressbar:nth-child(2)>.progress{ 
 
    width: 50%; 
 
} 
 
.progressbar:nth-child(3)>.progress{ 
 
    width: 100%; 
 
}
<div class="progressbar"><div class="progress"></div></div> 
 
<div class="progressbar"><div class="progress"></div></div> 
 
<div class="progressbar"><div class="progress"></div></div>

+0

Merci! Il est possible de faire la même chose avec% au lieu de largeur fixe en px? – Vald

+0

@Vald - J'ai changé l'exemple pour utiliser des pourcentages, comme demandé. –

+0

Mais je veux que toute la barre soit réactive (.progressbar {width: 100%;}) si je mets la barre de progression et le dégradé à 100%, ça ne marche pas :( – Vald

0

Html partie

<div id="myProgress"> 
    <div id="myBar">10%</div> 
</div> 
<button onclick='move()'>Click me</button> 

partie Css

#myBar { 
    width: 10%; 
    height: 30px; 
    background-color: #4CAF50; 
    text-align: center; /* To center it horizontally (if you want) */ 
    line-height: 30px; /* To center it vertically */ 
    color: white; 
} 

partie Javascript

function move() { 
    var elem = document.getElementById("myBar"); 
    var width = 10; 
    var id = setInterval(frame, 10); 
    function frame() { 
     if (width >= 100) { 
      clearInterval(id); 
     } else { 
      width++; 
      elem.style.width = width + '%'; 
      elem.innerHTML = width * 1 + '%'; 
     } 
    } 
} 
+0

Désolé mais ce n'est pas ce dont j'ai besoin. Regardez l'écran: je veux que la barre de progression affiche le même pourcentage que le dégradé d'arrière-plan. Par exemple, si la barre de progression est de 10%, je veux afficher seulement 10% du dégradé (seulement le jaune, et non le rouge). En fait, j'utilise la barre de progression standard Vald