Skills Bar in CSS3

Tempo stimato di lettura: 2 minuti, 30 secondi
Pubblicato il 6 Febbraio 2013

Nel precedente articolo su quicksand.js su  ti ho mostrato come animare il tuo portfolio lavori e oggi voglio parlarti di come animare le tue competenze “skills” grazie all’uso di “css3 animation” e dei “keyframes” che insieme ci consentono di creare delle animazioni. I keyframes offrono la possibilità di modificare il set di stili css molte volte durante l’animazione, bisogna specificare quando avverrà il cambiamento.

HTML

<ul id="skill">
	<li><span class="bar html"></span><h2>Html</h2</li>
	<li><span class="bar css"></span><h2>Css</h2></li>
	<li><span class="bar javascript"></span><h2>Javascript</h2></li>
	<li><span class="bar wordpress"></span><h2>Wordpress</h2></li>
</ul>

Il markup usato qui sopra è una semplice lista non ordinata, all’interno della quale ci sono degli <span> con classi diverse e degli <h2> per i titoli delle competenze. Fin qui tutto facile, no?

CSS

#skill {width: 400px;margin: 0 auto;position: relative;padding: 30px 0;line-height: 2em;font-size: 14px;}
#skill li {list-style: none; margin-bottom: 35px;height: 30px; background: #ccc; color: #666;}
#skill li h2 {position: relative; top: -30px; font-size: 16px;}

.bar {height:30px; position:absolute;}

.html {width:100%;background: #6dc86d; 
-webkit-animation:html 3s ease-in-out;
   -moz-animation:html 3s ease-in-out;
}

.css {width:70%;background: #6dc86d;
-webkit-animation:css 3s ease-in-out;
   -moz-animation:css 3s ease-in-out;
}

.javascript {width:55%;background: #6dc86d;
-webkit-animation:javascript 3s ease-in-out;
   -moz-animation:javascript 3s ease-in-out;
}

.wordpress {width:90%;background: #6dc86d;
-webkit-animation:wordpress 3s ease-in-out;
   -moz-animation:wordpress 3s ease-in-out;
}

@-moz-keyframes html 				{ 0% {width:0;} 100% {width:100%;}}
@-moz-keyframes css        			{ 0% {width:0;} 100% {width:70%;} }
@-moz-keyframes javascript     		{ 0% {width:0;} 100% {width:55%;} }
@-moz-keyframes wordpress   		{ 0% {width:0;} 100% {width:90%;} }

@-webkit-keyframes html   			{ 0% {width:0;} 100% {width:100%;}}
@-webkit-keyframes css        		{ 0% {width:0;} 100% {width:70%;} }
@-webkit-keyframes javascript      	{ 0% {width:0;} 100% {width:55%;} }
@-webkit-keyframes wordpress   		{ 0% {width:0;} 100% {width:90%;} }

Come hai notato ci sono varie classi, che corrispondono alle competenze (html, css, javascript, wordpress) di cui per ognuna ho specificato la larghezza, il background e il tipo di animazione. Il grosso del lavoro lo farà il keyframes con i valori che ho impostato. Come ho detto in precedenza bisogna specificare quando avverrà il cambiamento. I valori del keyframes si possono impostare in percentuale oppure con le parole chiave “from” e “to”, che è praticamente la stessa cosa. Io ho usato le percentuali dove 0% è l’inizio e 100% è la fine dell’animazione. Queste sono le poche, anzi pochissime righe css per dar vita a questa splendida animazione, che darà al nostro portfolio un tocco in più.

Conclusioni

Naturalmente queste proprietà css3 non funzionano su tutti i browser, l’ esempio mostrato funziona egregiamente sulle ultime versioni di Chrome, Firefox e Safari, grazie ai prefissi “-webkit-” e  “-moz-” che ho utilizzato. Con i keyframes si possono creare animazioni davvero fantastiche senza l’utilizzo di alcun plugins. Ora tocca a te sperimentare! Per oggi è tutto alla prossima.

Demo

Shares