Style HTML5-Fortschrittstag, der seinen Maximalwert erreicht hat

8

Ist es möglich, eine Fortschrittsleiste, die ihren Maximalwert erreicht hat, in CSS anders zu gestalten als die, die noch nicht gestartet wurde oder gestartet wurde?

macht zum Beispiel etwas wie

%Vor%

Oder muss ich Javascript verwenden, um es zu erkennen?

    
Robbert Stevens 07.10.2013, 08:31
quelle

2 Antworten

2

Diese Antwort setzt voraus, dass wir den Maximalwert der Fortschrittsanzeige kennen. Ich werde das folgende Markup verwenden:

%Vor%

Unser Fortschrittsbalken hat hier einen maximalen Wert von 100 und einen Wert von 100, was bedeutet, dass er sich in seinem vollendeten Zustand befindet. Von diesem können wir den [att = val] Selektor verwenden, um ihn auf seinen vollständigen Status zu setzen:

%Vor%

Chris Coyier hat einen Artikel zu CSS Tricks , der erklärt, wie das Element progress gestaltet werden kann Chrome, Firefox und IE10. Danach können wir das Styling auf den fertigen Fortschrittsbalken anwenden. Zuerst setzen wir den Stil zurück:

%Vor%

Dann können wir das Styling speziell auf ::-webkit-progress-value und ::-moz-progress-bar anwenden, um die Vordergrund-Fortschrittsleiste sowohl in Chrome als auch in Firefox anzusteuern. Dafür setze ich eine Hintergrundfarbe von #f00 (rot):

%Vor%

Schließlich können wir das IE10-Styling hinzufügen, indem wir einfach eine color -Eigenschaft auf dem Hauptselektor hinzufügen:

%Vor%

Hier ist eine JSFiddle-Demo , die das mit zwei Fortschrittsbalken demonstriert - dem ersten bei 50% und der zweite bei 100%. Für die Lazy, hier ist das Ergebnis in Chrome, Firefox und IE10:

    
James Donnelly 07.10.2013 09:58
quelle
2

Ich würde auch gerne eine Pseudo-Klasse für den fertigen Zustand des Elements <progress> sehen, da der Browser (sowohl Chrome als auch Firefox unter OS X) bereits weiß, wann er fertig ist und das Aussehen entsprechend ändert.

Leider scheint die einzige Pseudoklasse <progress> zu unterstützen :indeterminate , dh value wurde nicht gesetzt.

Sie können natürlich JavaScript verwenden und selbst einige Klassen hinzufügen (aber Sie können nicht einmal auf change event auf <progress> hören):

%Vor%

Demo: Ссылка

    
Pavlo 07.10.2013 09:34
quelle

Tags und Links