Une barre de progression en CSS (progress bar)
Information
Depuis HTML5, il est plus facile d'utiliser le composant <progress>Une barre de progression inversée
Le code HTML
Le code CSS
Code css (Style à insérer) (78 lignes)
/*! * Theme Name: 2018 * Version: 20181124-20241229_185606 * Description: style for the progress bars * * */#slideshowProgress { width: 100px; height: 25px; background-color: #1e1e20; background-color: var(--body-bg-color); } #slideshowProgress.lqd { width: 200px; height: auto; bottom: 10px; padding: 4px; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.25), 0 1px rgba(255,255,255,0.08); box-shadow: inset 0 1px 2px rgba(0,0,0,0.25), 0 1px rgba(255,255,255,0.08); vertical-align: middle; } #slideshowProgressBar:not(.lqd) { width: 0%; height: 25px; background-color: #c0c0c0; background-color: var(--body-color); text-align: right; line-height: 25px; color: #ffffff; -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; } #slideshowProgressBar.lqd { width: 100%; height: 16px; line-height: 16px; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; background-image: -webkit-linear-gradient(top,rgba(255,255,255,0.3),rgba(255,255,255,0.05)); background-image: -moz-linear-gradient(top,rgba(255,255,255,0.3),rgba(255,255,255,0.05)); background-image: -o-linear-gradient(top,rgba(255,255,255,0.3),rgba(255,255,255,0.05)); background-image: linear-gradient(to bottom,rgba(255,255,255,0.3),rgba(255,255,255,0.05)); -webkit-box-shadow: 0 0 1px 1px rgba(0,0,0,0.25), inset 0 1px rgba(255,255,255,0.1); box-shadow: 0 0 1px 1px rgba(0,0,0,0.25), inset 0 1px rgba(255,255,255,0.1); -webkit-transition: 0.1s linear; -moz-transition: 0.1s linear; -o-transition: 0.1s linear; transition: 0.1s linear; -webkit-transition-property: width; -moz-transition-property: width; -o-transition-property: width; transition-property: width; } #slideshowProgressBar.p5 { background-color: #f63a0f; color: #fff; } #slideshowProgressBar.p25 { background-color: #f27011; color: #300; } #slideshowProgressBar.p50 { background-color: #f2b01e; color: #000; } #slideshowProgressBar.p75 { background-color: #f2d31b; color: #000; } #slideshowProgressBar.p100 { background-color: #86e01e; color: #000; }
Animer une barre de progression
Cette méthode est facile à utiliser, mais ne permet pas par exemple d'interrompre la progression, comme on pourrait le faire avec un timer.
Code JavaScript (avec jquery animate()) (23 lignes)
$(function () { var progressPercent = 0; var pgDuration = 5000; var pgWidth = $("#slideshowProgress2").width(); $("#slideshowProgressBar2").animate({ width: pgWidth }, { easing:"linear", duration: pgDuration, //the argument in the step call back function will hold the // current position of the animated property - width in this case. step: function(currentWidth,fx) { progressPercent = Math.round((100/pgWidth)*currentWidth); $("#progressDelay2").text(progressPercent+"%"); }, complete: function() { $('#animatePB').prop("checked", false); $('#animatePB').removeAttr("disabled"); } }); });
Le composant <progress>
Affecter des valeurs à la barre de progression
Affecter une valeur à une barre de progression devient donc très facile:
$('#id_de_ma_barre').val(20);
Version en cache
29/12/2024 18:56:06 Cette version de la page est en cache (à la date du 29/12/2024 18:56:06) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 04/01/2014, dernière modification le 03/02/2021
Source du document imprimé : https://www.gaudry.be/css-progress-bar.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.