Come configurare smartphone e PC. Portale informativo
  • casa
  • Interessante
  • Css barra di avanzamento rotonda. Creazione di una barra di avanzamento con HTML

Css barra di avanzamento rotonda. Creazione di una barra di avanzamento con HTML

Nota subito che non ci sono immagini qui, solo funzionalità CSS3! Dal momento che il creatore è designer professionista, ha anche preso in considerazione la funzione di rollback per le versioni precedenti dei browser. Ecco come appaiono le strisce in Opera 11, che supporta solo alcuni parametri CSS3, ma non tutti.

Probabilmente hai già indovinato che nei browser in cui non c'è alcun supporto CSS3, le strisce sembrano più o meno le stesse, ma anche più semplificate.

HTML di base

La striscia stessa è un div con una classe. Al suo interno posizioneremo uno span che fungerà da area "riempita" della barra di avanzamento. Questo può essere ottenuto attraverso lo stile in linea. Qui abbiamo bisogno della striscia per capire quanto dovrebbe essere piena, ed è in questi casi che si applicano elementi in linea... Alternativa variante di CSS ci saranno classi come "fill-10-percent", "fill-un-terzo" e così via.

La Fondazione:


L'inizio del CSS

Il wrapper div è la barra di avanzamento nella nostra barra. Non è necessario impostare un parametro di larghezza per estenderlo all'intera larghezza dell'elemento del blocco genitore. Puoi impostare un parametro, però. Anche il parametro dell'altezza è arbitrario. È impostato a 20 pixel, ma puoi impostarlo come preferisci. Successivamente, arrotonderemo gli angoli in tutti i browser in cui ciò è possibile e imposteremo Ombra interiore per dare l'effetto di profondità.

metro (
altezza: 20px; / * Può essere qualsiasi cosa * /
posizione: relativa;
sfondo: # 555;
-moz-border-radius: 25px;
-webkit-border-radius: 25px;
bordo-raggio: 25px;
imbottitura: 10px;
-webkit-box-shadow: riquadro 0 -1px 1px rgba (255,255,255,0.3);
-moz-box-shadow: riquadro 0 -1px 1px rgba (255,255,255,0.3);
box-shadow: inset 0 -1px 1px rgba (255,255,255,0.3);
}
Span all'interno riempirà parte della barra di avanzamento. Imposteremo il display su un tipo di blocco con un parametro di altezza del 100%. Così, sarà esteso al tutto area accessibile... Successivamente, utilizzeremo del codice CSS3 per creare la gradazione e l'arrotondamento degli angoli.

Metro> span (
blocco di visualizzazione;
altezza: 100%;
-webkit-
-webkit-

bordo-in alto-a destra-raggio: 8px;
bordo-basso-destra-raggio: 8px;



colore di sfondo: rgb (43,194,83);
background-image: -webkit-gradient (
lineare,
in basso a sinistra,
in alto a sinistra,
stop colore (0, rgb (43,194,83)),
stop colore (1, rgb (84,240,84))
);
immagine di sfondo: -moz-linear-gradient (
centro in basso,
RGB (43.194,83) 37%,
RGB (84.240,84) 69%
);
-webkit-box-shadow:

-moz-box-shadow:
riquadro 0 2px 9px rgba (255,255,255,0.3),
riquadro 0 -2px 6px rgba (0,0,0,0.4);
posizione: relativa;
trabocco: nascosto;
}
Altri colori

Cambiamo il colore molto semplicemente. Basta aggiungere una classe denominata "orange" o "red" al div wrapper e il colore cambierà.

Arancione> span (
colore di sfondo: # f1a165;
background-image: -moz-linear-gradient (top, # f1a165, # f36d0a);
background-image: -webkit-gradient (lineare, in alto a sinistra, in basso a sinistra, color-stop (0, # f1a165), color-stop (1, # f36d0a));
background-image: -webkit-linear-gradient (# f1a165, # f36d0a);
}

Rosso> span (
colore di sfondo: # f0a3a3;
background-image: -moz-linear-gradient (top, # f0a3a3, # f42323);
background-image: -webkit-gradient (lineare, in alto a sinistra, in basso a sinistra, color-stop (0, # f0a3a3), color-stop (1, # f42323));
background-image: -webkit-linear-gradient (# f0a3a3, # f42323);
}
strisce

Possiamo anche aggiungere un fantastico effetto "a strisce" aggiungendo un altro elemento sopra il nostro span e dandogli una gradazione CSS ripetuta. In termini di semantica, è meglio farlo attraverso uno pseudo-elemento, quindi facciamolo. Gli daremo una posizione assoluta su un'area specifica della nostra campata (che ha già un valore di posizione relativo), quindi arrotonderemo gli angoli in modo che le strisce non sembrino sgradevoli.

Meter> span: dopo (
contenuto: "";
posizione: assoluta;
in alto: 0; sinistra: 0; in basso: 0; destra: 0;
immagine di sfondo:
-webkit-gradiente (lineare, 0 0, 100% 100%,
stop colore (.25, rgba (255, 255, 255, .2)),
color-stop (.25, trasparente), color-stop (.5, trasparente),
stop colore (.5, rgba (255, 255, 255, .2)),
stop colore (.75, rgba (255, 255, 255, .2)),
color-stop (.75, trasparente), a (trasparente)
);
immagine di sfondo:
-moz-gradiente-lineare (
-45 gradi,
rgba (255, 255, 255, .2) 25%,
trasparente 25%,
trasparente 50%,
RGB (255, 255, 255, .2) 50%,
RGB (255, 255, 255, .2) 75%,
trasparente 75%,
trasparente
);
indice z: 1;
-dimensione dello sfondo del webkit: 50px 50px;
-moz-dimensione dello sfondo: 50px 50px;

-moz-border-radius-topright: 8px;
-moz-border-radius-bottomright: 8px;
bordo-in alto-a destra-raggio: 8px;
bordo-basso-destra-raggio: 8px;
-webkit-border-top-left-radius: 20px;
-webkit-border-bottom-left-radius: 20px;
-moz-border-radius-topleft: 20px;
-moz-border-radius-bottomleft: 20px;
bordo-in alto-sinistra-raggio: 20px;
bordo-basso-sinistro-raggio: 20px;
trabocco: nascosto;
}
Animare le strisce

Finora solo Firefox 4 può animare pseudo-elementi e solo i browser Webkit possono farlo animazione passo... Quindi, sfortunatamente, non abbiamo molte opportunità di animare queste strisce. Se hai ancora bisogno di creare un'animazione, aggiungiamo un altro intervallo e chiediamo ai browser della famiglia Webkit di animarlo.


Lo Span sarà identico allo pseudo-elemento, quindi usiamo solo gli stessi valori...

Meter> span: after, .animate> span> span (
... e cerca di evitare duplicazioni:

Anima> span: dopo (
display: nessuno;
}
Successivamente, sposteremo ulteriormente il posizionamento dello sfondo di un valore pari alla sua dimensione:

@ -webkit-keyframes move (
0% {
posizione di sfondo: 0 0;
}
100% {
posizione di sfondo: 50px 50px;
}
}
E chiamiamola animazione:

Meter> span: after, .animate> span> span (
-webkit-animazione: sposta 2s lineare infinito;
}
Potrebbe valere la pena mantenere l'animazione associabile allo pseudo-elemento affinché funzioni non appena i browser Webkit iniziano a supportare questa funzionalità.

Animazione a larghezza piena

Sfortunatamente, NON puoi animare un elemento a larghezza automatica o naturale, il che probabilmente rende possibile animare elementi in linea.

@ -webkit-animation expandWidth (
0% (larghezza: 0;)
100% (larghezza: automatica;)
}
L'autore ha adattato l'elemento per tutti i bug tracker browser popolari ma in questo momento non è supportato. Invece, usiamo jQuery. Imposta la larghezza originale, forzala a zero e quindi anima:

$ (". metro> span"). each (funzione () (
$ (questo)
.data ("origWidth", $ (this) .width ())
.larghezza (0)
.animato ((
larghezza: $ (questo) .data ("origWidth")
}, 1200);
});
Ora hai finito!

Traduzione: Vlad Merzhevich

HTML5 aggiunge un elemento della barra di avanzamento per mostrare i progressi compiti specifici come scaricare o caricare, praticamente tutto ciò che richiede un po' di tempo.

In questo articolo, discuteremo come aggiungere questo elemento al tuo documento, modellarlo con CSS e animare i progressi.

Iniziamo.

Nozioni di base d'uso

L'indicatore è aggiunto da un tag; il valore di avanzamento è determinato dagli attributi value, min e max come segue.

Poiché stiamo parlando di un indicatore integrato, il suo aspetto varia a seconda della piattaforma. Di seguito è riportato come appare l'indicatore integrato in Windows e OS X.

Proviamo ora a modellare questo elemento in modo che appaia lo stesso su tutte le piattaforme.

Disegnare la barra di avanzamento

Nel foglio di stile, possiamo usare il selettore di avanzamento per aggiungere regole di stile all'elemento V questo esempio cambiamo il colore di sfondo, rimuoviamo il bordo ed effettuiamo l'arrotondamento impostando il raggio a metà dell'altezza.

Progresso (colore di sfondo: # f3f3f3; bordo: 0; altezza: 18 px; raggio del bordo: 9 px;)

Tuttavia, ci sono lievi differenze nei browser. V Firefox gli stili vengono applicati all'indicatore stesso, mentre lo stile del cursore non cambia.

V Cromo e Safari gli stili originali vengono rimossi e sostituiti con, quindi lo stile sopra non viene applicato (da almeno, attualmente).

Quindi abbiamo bisogno di qualcos'altro in questo caso.

In Chrome e Safari, l'elemento Sta per quanto segue.

:: - webkit-progress-bar ┗
:: - valore-progresso-webkit

Quindi, per cambiare lo stile della barra di avanzamento e del dispositivo di scorrimento in questi browser, dobbiamo aggiungere pseudo-classi come questa.

Progress :: - webkit-progress-bar (/ * regole di stile * /) progress :: - webkit-progress-value (/ * regole di stile * /)

Firefox ha anche una speciale pseudo-classe :: - moz-progress-bar. A differenza di Chrome e Safari, questa pseudo-classe in Firefox si riferisce a uno slider.

Progress :: - moz-progress-bar (/ * regole di stile * /)

Infine, mettiamo insieme questi selettori per modellare la barra di avanzamento.

Progress (/ * regole di stile * /) progress :: - webkit-progress-bar (/ * regole di stile * /) progress :: - webkit-progress-value (/ * regole di stile * /) progress :: - moz-progress -bar (/ * regole di stile * /)

Animazione di avanzamento

Successivamente, vedremo come animare l'indicatore. In genere, il dispositivo di scorrimento cresce da sinistra a destra man mano che l'attività procede. L'idea è che il cursore cresca da 0 e si fermi non appena raggiunge valore massimo... Mostreremo anche il valore del numero mentre spostiamo il cursore. Di seguito è riportata la struttura dell'HTML.

In questo esempio, utilizzeremo jQuery per animare l'indicatore, quindi assicurati di inserire jQuery in questo modo.

Quindi aggiungeremo uno script per aumentare i progressi. Innanzitutto, salviamo l'elemento stesso, il valore massimo e corrente e il periodo di tempo in variabili.

Var progressbar = $ ("# progressbar"), max = progressbar.attr ("max"), value = progressbar.val (), time = (1000 / max) * 5;

Quindi creiamo una variabile che contiene la funzione di animazione. In questo esempio si chiama.

All'interno di questa funzione, impostiamo il valore dell'incremento. Aumenteremo il valore di 1 per ogni periodo di tempo: puoi aumentare questo numero per far muovere il cursore più velocemente.

Valore + = 1;

Quindi aggiungiamo il risultato ottenuto all'indicatore.

AddValue = progressbar.val (valore);

E mostra il valore accanto alla barra di avanzamento.

$ (". valore-progresso"). html (valore + "%");

A questo punto l'animazione è già attiva, ma il valore crescerà all'infinito. Quindi, devi creare operatore condizionale affinché l'animazione si fermi quando l'animazione raggiunge il suo valore massimo.

Salviamo la funzione sopra in una variabile.

Var animate = setInterval (function () (loading ();), time);

Quindi aggiungiamo un'istruzione condizionale all'interno della variabile.

Per creare una barra di avanzamento, sono necessari solo due blocchi DIV e gli stili corrispondenti per essi, e un blocco verrà annidato in un altro, riempiendolo di un colore diverso esattamente quanto l'operazione corrente (evento corrente) è completata.

Stili di blocco della barra di avanzamento:

Tieni presente che il codice HTML utilizza anche uno stile che indica la larghezza del blocco annidato. stile = "larghezza: 75 px"è questo stile che indica il numero di percentuali con cui verrà riempito il blocco principale. È anche conveniente perché se la pagina è generata ad esempio da PHP, allora puoi inserire qualsiasi valore per la lunghezza del blocco interno.

Inoltre, all'interno del blocco principale, possiamo scrivere qualsiasi testo, può essere uno stato in percentuale o una spiegazione per la barra di avanzamento. Cosa non puoi fare quando usi le immagini.

Infine abbiamo una barra di avanzamento universale che funziona in tutti i browser moderni, così come nel vecchio asino IE6. Possiamo dargli qualsiasi colore, dimensione e descrizione.

05/12/15 18.8K

JQuery è una libreria JavaScript che semplifica la creazione di elementi dell'interfaccia come barre di avanzamento, menu a discesa, ecc.

In questo articolo troverai collegamenti per scaricare script JavaScript e jQuery che possono essere utilizzati sul tuo sito per visualizzare l'avanzamento dei download, scaricare file o qualsiasi altra attività. Tutti gli script descritti di seguito possono essere scaricati assolutamente gratuitamente.

JQuery e JavaScript potrebbero non essere supportati dai browser meno recenti, ma tutti browser moderni supportarli pienamente.

Barra di avanzamento del checkout

Barra di avanzamento CSS reattiva con bella interfaccia cinque fasi di pagamento e abbonamento.

Scarica

Barra di avanzamento pixel

Un piccolo indicatore decorativo sotto forma di pixel quadrati alla fine della barra di avanzamento rende questa barra di avanzamento visivamente molto più attraente.

Scarica

Ritmo - barra di avanzamento del caricamento automatico della pagina

Barra di avanzamento automatico della pagina web. Includi pace.js e un tema a tua scelta nella tua pagina e il gioco è fatto! Pace terrà traccia automaticamente delle richieste Ajax, del ritardo del ciclo di eventi, dello stato del documento pronto e degli elementi della pagina per informarti dell'avanzamento dell'attività.

Demo | Scarica

Pulsanti con contatori di avanzamento integrati

Sono ideali per visualizzare lo stato di avanzamento di un'attività durante il rendering di un modulo o il caricamento del contenuto tramite AJAX. Possono anche utilizzare stili e transizioni CSS3, rendendoli facili da personalizzare.

Demo | Scarica

Plugin jQuery con barra di avanzamento degli obiettivi animata

Questo plugin ti permette di creare barre di avanzamento animate su basato su jQuery... Basta compilare i dati richiesti e il plugin calcolerà l'avanzamento dell'attività stessa e imposterà l'animazione del pannello appropriata. È possibile specificare il testo che verrà visualizzato prima e dopo aver raggiunto una certa percentuale del completamento dell'attività.

Demo | Scarica

Stili gratuiti di pulsanti di avanzamento

Un insieme di stili piatti e 3D di pulsanti di avanzamento, in cui il pulsante stesso funge da indicatore di avanzamento. Gli stili 3D vengono utilizzati per visualizzare l'avanzamento dell'attività su un lato mentre si ruota il pulsante.

Demo | Scarica

ProgressJs - una libreria di barre di avanzamento con temi configurabili

ProgressJs è una libreria basata su Basato su JavaScript e CSS3, che aiuta gli sviluppatori a creare e gestire barre di avanzamento per ogni oggetto sulla pagina.

Demo | Scarica

ngProgress - Barra di avanzamento in stile Youtube

ngProgress - utilizzato per visualizzare lo stato di download di qualcosa. Questo oggetto può essere utilizzato per indicare l'estrazione dei dati da risorse esterne se l'esecuzione richiede più tempo del solito o se le pagine vengono semplicemente caricate. Sono principalmente utilizzati per visualizzare lo stato di download di file di grandi dimensioni.

Demo | Scarica

Barra di avanzamento CSS pura

Questa barra di avanzamento è completamente implementata utilizzando gradienti, ombre e bordi di bordo CSS3 con un tocco di animazione. La proposta di questo progettoè una dimostrazione delle capacità dei CSS3 nei moderni browser web. Pertanto, questa barra di avanzamento è disegnata esclusivamente con CSS.

Demo | Scarica

NProgress - barra di avanzamento sottile

« Nanoscopico"Barra di avanzamento. Usando effetti realistici animazioni, mostri agli utenti che un'attività è in corso! L'ispirazione dell'autore è stata tratta da Google e YouTube.

Scarica

Progresso circolare

Un widget di avanzamento JavaScript circolare, molto facile da implementare e personalizzare.

Scarica

Nanobar.js

Barra di avanzamento molto, molto compatta ( archivia solo 730 byte di dimensione). Non richiede l'installazione di jQuery.

Demo | Scarica

Barra di carico angolare

L'idea è semplice: aggiungere una barra di avanzamento del download ogni volta che viene eseguita una richiesta XHR. Più richieste eseguite contemporaneamente possono essere raccolte in un pannello in modo tale che ogni risposta aumenti di conseguenza la barra di avanzamento.

Demo | Scarica

Caricatore percentuale jQuery gratuito

jQuery.PercentageLoader è un plug-in jQuery per il rendering di una barra di avanzamento più attraente rispetto al solito indicatore orizzontale e contatore di testo. Il plugin è facile da installare e abbastanza flessibile da usare. Utilizza le tele HTML5 per creare immagini impressionanti rappresentazione grafica usando per questo solo un 10-kilobit ( ridotto al minimo) File Javascript ( con l'app per i caratteri web opzionale).

Il plug-in utilizza vettori, non immagini, facilitando lo scarto vari elementi modifica semplice parametri iniziali.

Demo | Scarica

Barra di avanzamento circolare gratuita - Plugin JQuery

La barra di avanzamento circolare offre possibilità illimitate per indicare i flussi di upload o download.

Demo / Scarica

Semplice barra di avanzamento CSS3 jQuery gratuita

Questa barra di avanzamento utilizza l'attributo HTML5 custom data- *, che semplifica l'animazione della barra di avanzamento utilizzando Zepto (o jQuery). L'animazione è racchiusa nella funzione window.resize per essere eseguita di nuovo se la finestra del browser viene ridimensionata.

Demo | Scarica

Barra di avanzamento dei passaggi CSS 5

Barra di avanzamento CSS in 5 passaggi. JS viene utilizzato solo per animare la demo.

Demo | Scarica

Barra di avanzamento JQuery per riempire il profilo

Utilizza gli elementi di avanzamento durante il completamento di un profilo. Aggiunge gli opportuni pulsanti da visualizzare compilando tutti i dati richiesti; l'utente può fare clic sui pulsanti "Salva", "Avanti" durante l'esecuzione delle azioni corrispondenti.

Nota subito che non ci sono immagini qui, solo funzionalità CSS3! Poiché il creatore è un designer professionista, ha anche preso in considerazione la funzione di rollback per le versioni precedenti dei browser. Ecco come appaiono le strisce in Opera 11, che supporta solo alcuni parametri CSS3, ma non tutti.

Probabilmente hai già indovinato che nei browser in cui non c'è alcun supporto CSS3, le strisce sembrano più o meno le stesse, ma anche più semplificate.

HTML di base

La striscia stessa è un div con una classe. Al suo interno posizioneremo uno span che fungerà da area "riempita" della barra di avanzamento. Questo può essere ottenuto attraverso lo stile in linea. Qui abbiamo bisogno della striscia per capire quanto dovrebbe essere piena, ed è qui che vengono utilizzati gli elementi in linea. Opzione alternativa I CSS saranno classi come "fill-10-percent", "fill-un-terzo" e così via.

La Fondazione:

L'inizio del CSS

Il wrapper div è la barra di avanzamento nella nostra barra. Non è necessario impostare un parametro di larghezza per estenderlo all'intera larghezza dell'elemento del blocco genitore. Puoi impostare un parametro, però. Anche il parametro dell'altezza è arbitrario. È impostato a 20 pixel, ma puoi impostarlo come preferisci. Successivamente, arrotonderemo gli angoli in tutti i browser dove ciò è possibile e inseriremo un'ombra interna per dare l'effetto di profondità.

Metro (altezza: 20px; / * Può essere qualsiasi cosa * / posizione: relativa; sfondo: # 555; -moz-border-radius: 25px; -webkit-border-radius: 25px; border-radius: 25px; padding: 10px; -webkit-box-shadow: riquadro 0 -1px 1px rgba (255,255,255,0.3); -moz-box-shadow: riquadro 0 -1px 1px rgba (255,255,255,0.3); box-shadow: riquadro 0 -1px 1px rgba (255,255,255 , 0.3);)

Span all'interno riempirà parte della barra di avanzamento. Imposteremo il display su un tipo di blocco con un parametro di altezza del 100%. Pertanto, sarà esteso su tutta l'area disponibile. Successivamente, utilizzeremo del codice CSS3 per creare la gradazione e l'arrotondamento degli angoli.

Meter> span (display: block; height: 100%; -webkit-border-top-right-radius: 8px; -webkit-border-bottom-right-radius: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px; border-top-right-radius: 8px; border-bottom-right-radius: 8px; -webkit-border-top-left-radius: 20px; -webkit-border-bottom -left-radius: 20px; -moz-border-radius-topleft: 20px; -moz-border-radius-bottomleft: 20px; border-top-left-radius: 20px; border-bottom-left-radius: 20px; sfondo -color: rgb (43,194,83); background-image: -webkit-gradient (lineare, in basso a sinistra, in alto a sinistra, color-stop (0, rgb (43,194,83)), color-stop (1, rgb (84,240) , 84))); background-image: -moz-linear-gradient (centro in basso, rgb (43,194,83) 37%, rgb (84,240,84) 69%); -webkit-box-shadow: riquadro 0 2px 9px rgba (255,255,255,0.3), riquadro 0 -2px 6px rgba (0,0,0,0.4); -moz-box-shadow: riquadro 0 2px 9px rgba (255,255,255,0.3), riquadro 0 -2px 6px rgba (0, 0,0,0.4); posizione: relativo; overflow: nascosto;) Altri colori della colomba Basta cambiare il colore in modo molto semplice. Basta aggiungere una classe denominata "orange" o "red" al div wrapper e il colore cambierà. .orange> span (background-color: # f1a165; background-image: -moz-linear-gradient (top, # f1a165, # f36d0a); background-image: -webkit-gradient (linear, left top, left bottom, color -stop (0, # f1a165), color-stop (1, # f36d0a)); background-image: -webkit-linear-gradient (# f1a165, # f36d0a);) .red> span (background-color: # f0a3a3 ; background-image: -moz-linear-gradient (top, # f0a3a3, # f42323); background-image: -webkit-gradient (linear, left top, left bottom, color-stop (0, # f0a3a3), color- stop (1, # f42323)); background-image: -webkit-linear-gradient (# f0a3a3, # f42323);)

strisce

Possiamo anche aggiungere un fantastico effetto "a strisce" aggiungendo un altro elemento sopra il nostro span e dandogli una gradazione CSS ripetuta. In termini di semantica, è meglio farlo attraverso uno pseudo-elemento, quindi facciamolo. Gli daremo una posizione assoluta su un'area specifica della nostra campata (che ha già un valore di posizione relativo), quindi arrotonderemo gli angoli in modo che le strisce non sembrino sgradevoli.

Meter> span: after (content: ""; position: assoluto; top: 0; left: 0; bottom: 0; right: 0; background-image: -webkit-gradient (linear, 0 0, 100% 100%, color-stop (.25, rgba (255, 255, 255, .2)), color-stop (.25, trasparente), color-stop (.5, trasparente), color-stop (.5, rgba (255 , 255, 255, .2)), color-stop (.75, rgba (255, 255, 255, .2)), color-stop (.75, trasparente), a (trasparente)); immagine di sfondo: -moz-linear-gradient (-45deg, rgba (255, 255, 255, .2) 25%, trasparente 25%, trasparente 50%, rgba (255, 255, 255, .2) 50%, rgba (255, 255, 255, .2) 75%, trasparente 75%, trasparente); z-index: 1; -webkit-background-size: 50px 50px; -moz-background-size: 50px 50px; -webkit-animation: move 2s lineare infinito; -webkit-border-top-right-radius: 8px; -webkit-border-bottom-right-radius: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px ; border-top-right-radius: 8px; border-bottom-right-radius: 8px; -webkit-border-top-left-radius: 20px; -webkit-bor der-bottom-left-radius: 20px; -moz-border-radius-topleft: 20px; -moz-border-radius-bottomleft: 20px; bordo-in alto-sinistra-raggio: 20px; bordo-basso-sinistro-raggio: 20px; trabocco: nascosto; )

Animare le strisce

Finora solo Firefox 4 può animare pseudo-elementi e solo i browser Webkit possono eseguire animazioni passo-passo. Quindi, sfortunatamente, non abbiamo molte opportunità di animare queste strisce. Se hai ancora bisogno di creare un'animazione, aggiungiamo un altro intervallo e chiediamo ai browser della famiglia Webkit di animarlo.

Lo Span sarà identico allo pseudo-elemento, quindi usiamo solo gli stessi valori...

Meter> span: after, .animate> span> span (

... e cerca di evitare duplicazioni:

Anima> span: dopo (display: nessuno;)

@ -webkit-keyframes move (0% (posizione sfondo: 0 0;) 100% (posizione sfondo: 50px 50px;))

E chiamiamola animazione:

Meter> span: after, .animate> span> span (-webkit-animation: sposta 2s lineare infinito;)

Potrebbe valere la pena mantenere l'animazione associabile allo pseudo-elemento affinché funzioni non appena i browser Webkit iniziano a supportare questa funzionalità.

Animazione a larghezza piena

Sfortunatamente, NON puoi animare un elemento a larghezza automatica o naturale, il che probabilmente rende possibile animare elementi in linea.

@ -webkit-animation expandWidth (0% (larghezza: 0;) 100% (larghezza: auto;))

L'autore ha adattato l'elemento per i bug tracker di tutti i browser più diffusi, ma al momento non è supportato. Invece, usiamo jQuery. Imposta la larghezza originale, forzala a zero e quindi anima:

$ (". metro> span"). each (function () ($ (this) .data ("origWidth", $ (this) .width ()) .width (0) .animate ((width: $ (this ) .data ("origWidth")), 1200);));

Ora hai finito!

Principali articoli correlati