 
 
 <?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>upCreative &#187; iOS 7</title>
	<atom:link href="https://www.upcreative.net/tag/ios-7/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.upcreative.net</link>
	<description>Web Design, grafica,  web application e content web marketing</description>
	<lastBuildDate>Wed, 10 Apr 2019 12:53:28 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.41</generator>
	<item>
		<title>Come realizzare un Mobile Action Sheet con Bootstrap 3 e Animazioni CSS3</title>
		<link>https://www.upcreative.net/come-realizzare-un-mobile-action-sheet-con-bootstrap3-e-animazioni-css3/</link>
		<comments>https://www.upcreative.net/come-realizzare-un-mobile-action-sheet-con-bootstrap3-e-animazioni-css3/#comments</comments>
		<pubDate>Tue, 14 Jan 2014 09:23:44 +0000</pubDate>
		<dc:creator><![CDATA[upcreative]]></dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[animazioni]]></category>
		<category><![CDATA[bootstrap]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[HTML Mobile App]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[iOS 7]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.upcreative.net/?p=3013</guid>
		<description><![CDATA[<p>Un altro tutorial in cui ti mostro come realizzare un'interfaccia con mobile action sheet stile iOS7, tramite animazioni CSS3 e Twitter Bootstrap 3, e sfruttando la tecnica dell'accelerazione hardware per rendere l'effetto fluido e performante.</p>
<p>The post <a rel="nofollow" href="https://www.upcreative.net/come-realizzare-un-mobile-action-sheet-con-bootstrap3-e-animazioni-css3/">Come realizzare un Mobile Action Sheet con Bootstrap 3 e Animazioni CSS3</a> appeared first on <a rel="nofollow" href="https://www.upcreative.net">upCreative</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div class="l-submain"><div class="l-submain-h g-html i-cf"><div class="g-cols"><div class="full-width">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			
<p>Nella realizzazione di <strong>HTML5 Mobile App</strong> in <strong>CSS3</strong> e <strong>Javascript</strong> numerosi sono i controlli che possono essere ricreati in modo da sviluppare prodotti che si avvicinano più possibile alle applicazioni native.</p>
<p>Negli articoli precedenti mi sono soffermato più volte sull&#8217;importanza delle<strong> performance di animazioni CSS3</strong> per quanto riguarda le interfacce web, soprattuto per quelle destinate a girare su dispositivi mobile.</p>
<p>Utilizzando questo tipo di animazioni, che forzano la creazione di <strong>livelli grafici</strong> da essere poi inviati alla <strong>GPU</strong> velocizzando il <strong>processo di</strong><strong> rendering</strong>, è possibile riprodurre la maggior parte dei componenti presenti in app native in modo <strong>fluido e performante</strong>.</p>
<p><em>A questo proposito ti consiglio di leggere:</em></p>
<ul>
<li><em><a title="Ottimizzare le animazioni CSS3 con i layers grafici" href="http://www.upcreative.net/performance-css3-consigli-per-ottimizzare-le-animazioni/">Performance CSS3 &#8211; Consigli per ottimizzare le prestazioni di rendering con i livelli grafici</a></em></li>
</ul>
<p>Con i CSS3 è possibile riprodurre per esempio elementi come slide menu (ecco un <a title="CSS3 slide panel: tutorial su come realizzare un menu stile mob" href="http://www.upcreative.net/css3-slide-panel-tutorial-creare-menu-mobile/">tutorial su come crearne uno</a>), tab bar, modal alert, popover ecc..</p>

		</div> 
	</div> 
	<div class="wpb_single_image wpb_content_element align_center">
		<div class="wpb_wrapper">
			
			<img width="690" height="400" src="http://www.upcreative.net/wp-content/uploads/2014/01/Mobile-Action-Sheet-con-Bootstrap-3-e-Animazioni-CSS3.jpg" class="attachment-full" alt="Mobile-Action-Sheet-con-Bootstrap-3-e-Animazioni-CSS3" />
		</div> 
	</div> <div class="g-cols"><div class="one-half"><div class="wpb_button align_center"><a href="http://www.upcreative.net/tutorials/14012014-Action-sheet-per-dispositivi-mobile/"class="g-btn type_primary size_big"><span><i class="fa fa-eye-open"></i>Demo</span></a></div>
</div><div class="one-half"><div class="wpb_button align_center"><a href="http://www.upcreative.net/download/3048/"class="g-btn type_primary size_big"><span><i class="fa fa-download-alt"></i>Download</span></a></div>
</div></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			
<h2></h2>
<h2>Mobile Action Sheet con Animazioni CSS3</h2>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2014/01/CSS3-mobile-action-sheet.jpg"><img class="alignright" alt="CSS3-mobile-action-sheet" src="http://www.upcreative.net/wp-content/uploads/2014/01/CSS3-mobile-action-sheet.jpg" width="250" height="auto" /></a></p>
<p>In questo articolo voglio mostrarti come realizzare un <strong>modal action-sheet</strong> sfruttando <strong>animazioni CSS3</strong> performanti, che agiscono su determinati attributi in modo da sfruttare la tecnica della composizione dei livelli grafici.</p>
<p>In altre parole ricreeremo una modal dialog con dei pulsanti al suo interno che compare dal fondo dello schermo.</p>
<p>Per quanto riguarda gli stili dei pulsanti ci serviremo di quelli forniti dal framework <a title="Twitter Bootstrap 3 - Responsive CSS framework" href="http://getbootstrap.com"><strong>Twitter Bootstrap 3</strong></a>, che con i suoi <a title="Twitter Bootstrap 3 - Gruppi di pulsanti verticali" href="http://getbootstrap.com/components/#btn-groups-vertical">gruppi di pulsanti verticali</a> si avvicina molto ai pulsanti che si trovano nel mobile action sheet del sistema operativo iOS7.</p>
<p><em>Qui a fianco uno screenshot che mostra il classico esempio di un mobile action sheet nativo durante l&#8217;utilizzo dall&#8217;applicazione &#8220;Mail&#8221; di iOS7</em></p>
<h2>Il markup HTML</h2>
<p>Dopo aver incluso nel documento le risorse di cui ci serviremo, come appunto il framework Twitter Bootstrap, <a title="Modernizr - Libreria per determinare le compatibilità dei browser" href="http://modernizr.com">Modernizr</a> ed il solito <a title="jQuery - Javascript framework" href="http://jquery.com">jQuery</a>, andiamo a definire il markup HTML:</p><pre class="crayon-plain-tag">&lt;nav&gt; &lt;!-- tabbar --&gt;
&lt;/nav&gt;
&lt;article&gt;  &lt;!-- corpo documento --&gt;

	&lt;h1&gt;Action Sheet con animazioni CSS3&lt;/h1&gt;

	&lt;div class="text-center"&gt;
		&lt;button id="start"  type="button" class="btn btn-default"&gt;Mostra action sheet&lt;/button&gt;
	&lt;/div&gt;		

&lt;/article&gt;

&lt;div class="action-sheet"&gt; &lt;!-- contenitore action sheet --&gt;

    &lt;div&gt;&lt;/div&gt; &lt;!-- l'overlay dell'action-sheet --&gt;
    &lt;section&gt;   &lt;!-- il contenitore dei pulsanti --&gt;

    &lt;/section&gt;
&lt;/div&gt;</pre><p>
&nbsp;</p>
<p><span style="line-height: 1.5em;">Oltre ai tag </span><em style="line-height: 1.5em;">&lt;nav&gt;</em><span style="line-height: 1.5em;">  ed </span><em style="line-height: 1.5em;">&lt;article&gt;,</em><span style="line-height: 1.5em;"> che rappresentano rispettivamente la tabbar ed il corpo del documento, inseriamo il codice HTML per definire gli elementi DOM che rappresentano l&#8217;intero action sheet. Abbiamo un contenitore principale (con classe .</span><em style="line-height: 1.5em;">action-sheet</em><span style="line-height: 1.5em;">) all&#8217;interno del quale si trovano una </span><strong style="line-height: 1.5em;"><em>&lt;div&gt;</em></strong><span style="line-height: 1.5em;"> ed un elemento </span><em style="line-height: 1.5em;"><strong>&lt;section&gt;</strong>, il primo per </em><span style="line-height: 1.5em;">l&#8217;</span><strong style="line-height: 1.5em;">overlay</strong><span style="line-height: 1.5em;"> trasparente di sfondo, mentre il secondo per il </span><strong style="line-height: 1.5em;">contenitore dei pulsanti</strong><span style="line-height: 1.5em;">.</span></p>
<p>Vediamo ora come scrivere il markup dei pulsanti, utilizzando gli stili di Bootstrap:</p><pre class="crayon-plain-tag">&lt;div class="row"&gt;
    &lt;div class="col-xs-12 col-sm-6 col-sm-offset-3 col-md-6 col-md-offset-3 btn-group-vertical"&gt;
        &lt;button type="button" class="btn btn-default"&gt;Pulsante 1&lt;/button&gt;
        &lt;button type="button" class="btn btn-default"&gt;Pulsante 1&lt;/button&gt;
        &lt;button type="button" class="btn btn-default"&gt;Pulsante 1&lt;/button&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;div class="row"&gt;
    &lt;div class="col-xs-12 col-sm-6 col-sm-offset-3 col-md-6 col-md-offset-3"&gt;
        &lt;button type="button" class="btn btn-danger btn-block cancel"&gt;Chiudi&lt;/button&gt;
    &lt;/div&gt;
&lt;/div&gt;</pre><p>
&nbsp;</p>

		</div> 
	</div> <div class="g-cols"><div class="full-width">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			
<p style="text-align: center;"><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2014/01/mobile-action-sheet-smartphone.jpg"><img class="size-full wp-image-3030 aligncenter" alt="mobile-action-sheet-smartphone" src="http://www.upcreative.net/wp-content/uploads/2014/01/mobile-action-sheet-smartphone.jpg" width="393" height="240" /></a></p>
<p style="text-align: center;"><em>risultato del markup in uno smartphone</em></p>
<p style="text-align: center;"><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2014/01/mobile-action-sheet-tablet.jpg"><img class="size-full wp-image-3031 aligncenter" alt="mobile-action-sheet-tablet" src="http://www.upcreative.net/wp-content/uploads/2014/01/mobile-action-sheet-tablet.jpg" width="772" height="240" /></a></p>
<p style="text-align: center;"><em>risultato del markup in un tablet</em></p>

		</div> 
	</div> </div></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			
<p><span style="line-height: 1.5em;">Abbiamo organizzato il gruppo di pulsanti in una prima </span><em style="line-height: 1.5em;">&lt;div&gt;</em><span style="line-height: 1.5em;"> con classe .</span><em style="line-height: 1.5em;">row, </em><span style="line-height: 1.5em;">in modo da rendere poi </span><strong style="line-height: 1.5em;">responsive</strong><span style="line-height: 1.5em;"> gli elementi interni utilizzando le classi del sistema a griglia di Bootstrap (piena larghezza nel caso di smartphone, 6 colonne centrate nel caso di tablet e dispositivi desktop).</span></p>
<p>Per riprodurre poi i pulsanti abbiamo utilizzato le solite classi .<em>btn</em> e <em>.btn-[tipo-di-stile]</em><em> </em>al fine di definire quale tipo di pulsante utilizzare. Nel caso del gruppo di pulsanti superiore ci siamo serviti della classe .<em>btn-group-vertical </em>che come accennato in precedenza raggruppa verticalmente i pulsanti in modo molto analogo a quello di <strong>iOS7</strong>.</p>
<h2>Il foglio di stile CSS3</h2>
<p>Vediamo ora come servirci di animazioni CSS3 performanti per realizzare gli effetti desiderati.</p>
<p>Il primo effetto sarà applicato alla <em>&lt;div&gt; </em>che rappresenta l&#8217;overlay di sfondo, il quale dovrà apparire in dissolvenza, mentre il secondo sarà applicato al contenitore dei pulsanti (ovvero l&#8217;elemento <em>&lt;section&gt;</em>), che dovrà fare la sua comparsa dal fondo dello schermo.<span style="line-height: 1.5em;"> </span></p>
<p>Come prima cosa posizioniamo i due elementi utilizzando l&#8217;istruzione <em>position:absolute </em>e le relative coordinate:</p><pre class="crayon-plain-tag">.action-sheet {
	/*
		finchè non viene avviata l'animazione lasciamo la proprietà "display: none"		
		in modo che l'elemento non vada ad interferire con il resto del DOM del documento
		(omettendo questa istruzione, questo elemento non sarebbe comunque visibile,
		ma allo stesso la sua presenza tempo non permetterebbe di interagire con gli altri elementi)
	*/
    display: none;	  
}

/*overlay di sfondo */

.action-sheet &gt; div{
	/*
		impostiamo le dimensioni e ed il posizionamento 
		assoluto dell'overlay in modo da coprire tutto il documento
	*/
    position:absolute;
    top:0;right:0;
    left:0;bottom:0;
    /*
	    per dare la trsparenza all'overlay utilizziamo l'attributo 'rgba' 
	    che ci permette appunto di impostare un valore di trasparenza
    */
    background: rgba(0,0,0, 0.5);    
}

/* contenitore pulsanti */
.action-sheet &gt; section{

	/*
		anche qui impostiamo il posizionamento assoluto in modo 
		da poter facilmente posizionare il contenitore in fondo allo schermo	
	*/		

    position:absolute;
    left:0;
    right:0;
    bottom:0;
    background: none;
    padding: 0 10px;
}</pre><p>
Poi passiamo ad impostare il punto focale dell&#8217;esperimento, ovvero il funzionamento dell&#8217;effetto:</p><pre class="crayon-plain-tag">.action-sheet &gt; div{    
    /* trasparenza iniziale pari a 0, in modo da visualizzare l'overlay in dissolvenza */
    opacity:0;
    /* 
    	impostiamo l'effetto tramite la proprietà transition 
    	utilizzando l'opacity, attributo performante, per 
    	creare un effetto a comparsa sulla trasparenza
    */
    -webkit-transition: opacity .15s;
    -moz-transition: opacity .15s;
    transition: opacity .15s;
}

/* contenitore pulsanti */
.action-sheet &gt; section{    
    /* 
    	impostiamo la proprietà transitio per l'attributo "transform",
    	che forza la creazine dei livelli grafici da inviare alla GPU 
    	e rende più fluida l'animazione	    
    */	
    -webkit-transition: -webkit-transform .3s;
    -moz-transition: -moz-transform .3s;
    transition: transform .3s;

    /*
	    inzialmente impostiamo il la transform del contenitore in modo che 
	    prima dell'avvio dell'effetto si trovi al di fuori dello schermo,
	    mediante il parametro "Y" della proprietà translate3d
    */
    -webkit-transform: translate3d(0, 110%, 0);
    -moz-transform: translate3d(0, 110%, 0);
    transform: translate3d(0, 110%, 0);
}</pre><p>
&nbsp;</p>
<p>Riassumento il discorso,  per ricreare gli effetti abbiamo attribuito alla proprietà <em>transition i parametri</em> <em>opacità (</em>per l&#8217;overlay<em>) </em>e <em>tranform</em> (per il contenitore dei pulsanti) facendo in modo che quando essi vengono modificati,  di conseguenza viene avviata anche l&#8217;animazione di comparsa. In particolare, andiamo a modificare quei parametri nel caso in cui alla div con classe .<em>action-sheet</em> presenti anche la classe di stile &#8220;<em>open&#8221;.</em></p>
<p><em>(La div .action-sheet serve quindi solamente ad attivare in un colpo solo le animazioni applicate agli elementi che si trovano al suo interno.)</em></p>
<h2>Il codice Javascript</h2>
<p>Abbiamo detto che per attivare l&#8217;effetto dobbiamo solamente aggiungere la classe &#8220;<i>open</i>&#8221; alla div <em>.action-sheet. </em>Come al solito per farlo ci serviamo del <em>Javascript</em> e procediamo in questo modo<em>:</em></p><pre class="crayon-plain-tag">/* Grazie a modernizr riprendo il nome dell'evento di fine animazione, che cambia a seconda del browser */

    	var endTransitionName = {
			'WebkitTransition' : 'webkitTransitionEnd',
			'OTransition' : 'oTransitionEnd',
			'msTransition' : 'MSTransitionEnd',
			'transition' : 'transitionend'
		};
		var transitionEventName = endTransitionName[ Modernizr.prefixed( 'transition' ) ];

	    $(function(){

	    	var actionSheet = $(".action-sheet");

	    	$("#start").on("click", function(){		    	
		    	actionSheet.show(); //equivalente ad impostare la proprietà "display" = "block" 
		        setTimeout(function () {
		            actionSheet.addClass("open"); //aggiungiamo la classe 'open' per avviare l'aniamzione
		        }, 10);		    	
	    	});	 

	    	$(".cancel").on("click", function(){	    
	    		//rimuoviamo la classe che scatena l'effetto, in modo da ritornare allo stato di partenza
	    		//all'evento di fine della transition reipostiamo tramite jQuery la propretà "display" = "none", 
	    		//che era quella dello stato iniziale        
		        actionSheet.removeClass("open").one(transitionEventName, function () {
		            actionSheet.hide();
		        });		    	
	    	});	

	    });</pre><p>
Al click del pulsante con id &#8220;<em>start</em>&#8221; rendiamo visibile tutto il markup del nostro componente tramite il metodo <em>.show()</em> di jQuery (che equivale ad impostare la proprietà CSS &#8220;<em>display: block&#8221;</em> ), poi con un ritardo di 10 millisecondi (piccolo hack per &#8220;far passare qualche istante di il tempo&#8221; dopo il rendering del markup), aggiungiamo la classe &#8220;<em>open</em>&#8220;, avviando l&#8217;effetto a comparsa.</p>
<p>Al contrario, nel momento in cui l&#8217;utente effettua il click (o tap, se si tratta di mobile) sul pulsante di chiusura <em>.cancel</em>, rimuoviamo la classe &#8220;<em>open</em>&#8221; e, nel momento in cui l&#8217;animazione giunge al termine, reimpostiamo la proprietà &#8220;<em>display: none</em>&#8221; per la div <em>.action-sheet</em>, in modo da nasconderla di nuovo.</p>
<p>Come è possibile vedere dal codice, per riprendere il nome giusto dell&#8217;evento di fine animazione in base al browser utilizzato dall&#8217;utente, ci siamo serviti di <strong>Modernizr</strong>, ed in particolare del metodo <em>.prefixed(&#8221;transition&#8217;).</em></p>
<p>Eccoci quindi al risultato finale: come puoi vedere il movimento risulta fluido e piacevole, anche se lo si visualizza da un dispositivo mobile.</p>

		</div> 
	</div> 
	<div class="wpb_single_image wpb_content_element align_center">
		<div class="wpb_wrapper">
			
			<img width="690" height="400" src="http://www.upcreative.net/wp-content/uploads/2014/01/Mobile-Action-Sheet-con-Bootstrap-3-e-Animazioni-CSS3.jpg" class="attachment-full" alt="Mobile-Action-Sheet-con-Bootstrap-3-e-Animazioni-CSS3" />
		</div> 
	</div> <div class="g-cols"><div class="one-half"><div class="wpb_button align_center"><a href="http://www.upcreative.net/tutorials/14012014-Action-sheet-per-dispositivi-mobile/"class="g-btn type_primary size_big"><span><i class="fa fa-eye-open"></i>Demo</span></a></div>
</div><div class="one-half"><div class="wpb_button align_center"><a href="http://www.upcreative.net/download/3048/"class="g-btn type_primary size_big"><span><i class="fa fa-download-alt"></i>Download</span></a></div>
</div></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			
<h2>Conclusioni</h2>
<p>Con questo ennesimo esempio ti ho voluto dimostrare come sia possibile servirsi della composizione dei livelli grafici e dell&#8217;<a title="Web e mobile app fluide con l'accelerazione hardware" href="http://www.upcreative.net/web-e-mobile-app-fluide-con-layer-e-hardware-acceleration/"><strong>accelerazione hardware</strong></a> per sfruttare la GPU al fine di realizzare interfacce mobile, dove è possibile avere animazioni più lente e caratterizzate da numerosi sfarfalli, se non vengono utilizzate le giuste proprietà.</p>
<p><em>Per vedere la differenza tra un&#8217;animazione fluida ed una con sfarfallii, ti consiglio di provare la demo di questo tutorial i<em>n cui ho messo a confronto l&#8217;effetto di riempimento di due progressbar:</em></em></p>
<ul>
<li><a title="Come realizzare una progress bar CSS3 per una HTML Mobile App" href="http://www.upcreative.net/come-realizzare-una-progress-bar-css3-per-una-html-mobile-app/"><em>Come realizzare una progress bar CSS3 per una HTML Mobile App</em></a></li>
</ul>

		</div> 
	</div> <div class="g-cols color_alternate w-actionbox"><div class="one-half">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			
<h3>Crea la tua mobile app in HTML, CSS3 e Javascript</h3>
<p>Utilizzando questa tecnica insieme a molte altre, ho realizzato più di 10 mobile app in HTML, CSS3 e Javascript (tra cui <a title="Tint HTML mobile app" href="http://www.upcreative.net/tint-weather-app/">Tint</a> e <a title="Dieta SI o NO? HTML Mobile app" href="http://www.upcreative.net/app-dieta-si-o-no/">Dieta SI o NO?</a>).</p>
<p>Se anche tu vuoi realizzare la tua applicazione in HTML, CSS e javascript da distribuire nei vari store, forse potrebbe interessarti il mio e-book <strong><a title="HTML Mobile Accelerato - Come creare una mobile app in HTML, CSS e Javacript" href="http://www.upcreative.net/html-mobile-accelerato/">HTML Mobile Accelerato</a>.</strong></p>

		</div> 
	</div> </div><div class="one-half">
	<div class="wpb_single_image wpb_content_element align_center">
		<div class="wpb_wrapper">
			
			<a href="http://www.upcreative.net/html-mobile-accelerato/"><img width="563" height="418" src="http://www.upcreative.net/wp-content/uploads/2013/11/HTML-mobile-accelerato-ebook-cover1.png" class="attachment-full" alt="HTML-mobile-accelerato-ebook-cover" /></a>
		</div> 
	</div> </div></div></div></div>
</div></div><p>The post <a rel="nofollow" href="https://www.upcreative.net/come-realizzare-un-mobile-action-sheet-con-bootstrap3-e-animazioni-css3/">Come realizzare un Mobile Action Sheet con Bootstrap 3 e Animazioni CSS3</a> appeared first on <a rel="nofollow" href="https://www.upcreative.net">upCreative</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.upcreative.net/come-realizzare-un-mobile-action-sheet-con-bootstrap3-e-animazioni-css3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS3 Tutorial: Come creare un effetto overlay iOS 7 blur</title>
		<link>https://www.upcreative.net/css3-tutorial-creare-effetto-overlay-ios-7-blur/</link>
		<comments>https://www.upcreative.net/css3-tutorial-creare-effetto-overlay-ios-7-blur/#comments</comments>
		<pubDate>Mon, 30 Sep 2013 17:48:21 +0000</pubDate>
		<dc:creator><![CDATA[upcreative]]></dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[blur]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[iOS 7]]></category>
		<category><![CDATA[stili]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.upcreative.net/?p=1889</guid>
		<description><![CDATA[<p>The post <a rel="nofollow" href="https://www.upcreative.net/css3-tutorial-creare-effetto-overlay-ios-7-blur/">CSS3 Tutorial: Come creare un effetto overlay iOS 7 blur</a> appeared first on <a rel="nofollow" href="https://www.upcreative.net">upCreative</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div class="l-submain"><div class="l-submain-h g-html i-cf"><div class="g-cols"><div class="full-width">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			
<p>Recentemente è stata rilasciata la versione definitiva del tanto atteso sistema operativo <a title="iOS 7 operating system" href="http://www.upcreative.net/tag/ios-7/"><strong>iOS 7</strong></a>  targato <a title="Apple" href="http://www.apple.com">Apple</a>, con il suo design flat, le nuove icone e tutto il bagaglio di innovazioni presentate da Tim Cook durante il <a href="http://www.apple.com/apple-events/september-2013/">Keynote tenutosi a Settembre</a> 2013. Uno degli aspetti principali che caratterizza il design si iOS 7 è determinato dall&#8217;uso costante dell&#8217;<strong>effetto blur,</strong> impiegato sui vari background che compongono l&#8217;interfaccia utente.</p>
<p>In questo articolo cercheremo di riprodurre questo effetto tramite l&#8217;esclusivo utilizzo di funzioni <a title="CSS3" href="http://www.upcreative.net/tag/css3/"><strong>CSS3</strong></a> avanzate, senza usare alcun tipo di immagine. Il risultato dell&#8217;esperimento sarà quello di creare una pagina con una barra di navigazione contenente un pulsante che servirà ad attivare il nostro overlay, ed un altro, contenuto all&#8217;interno dello stesso overlay, che avrà il compito di disattivarlo. L&#8217;obiettivo di quest&#8217;ultimo è quello di apparire con effetto slide sopra il contenuto del documento.</p>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/CSS3-Tutorial-Come-creare-un-effetto-overlay-iOS-7-blur.jpg"><img class="alignnone size-full wp-image-1895" alt="CSS3-Tutorial--Come-creare-un-effetto-overlay-iOS-7-blur" src="http://www.upcreative.net/wp-content/uploads/2013/09/CSS3-Tutorial-Come-creare-un-effetto-overlay-iOS-7-blur.jpg" width="690" height="340" /></a></p>

		</div> 
	</div> </div></div><div class="g-cols"><div class="one-half">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<div class="wpb_button align_center"><a href="http://www.upcreative.net/tutorials/30092013-CSS3-overlay-iOS-7-blur/"class="g-btn type_primary size_big"><span><i class="fa fa-icon-eye-open"></i>Demo</span></a></div>
 
		</div> 
	</div> </div><div class="one-half">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<div class="wpb_button align_center"><a href="http://www.upcreative.net/download/1898/"class="g-btn type_primary size_big"><span><i class="fa fa-icon-download-alt"></i>Download</span></a></div>
 
		</div> 
	</div> </div></div><div class="g-cols"><div class="full-width">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			
<h3>Il markup HTML</h3>
<p>Come primo passaggio creiamo il nostro markup html, comprensivo della barra di navigazione, del contenuto della pagina, e della div di overlay:</p><pre class="crayon-plain-tag">&lt;nav&gt;
		&lt;h1 class="title"&gt;Overlay Blur effect&lt;/h1&gt;
		&lt;button class="open-overlay"&gt;Show&lt;/a&gt;
	&lt;/nav&gt;
	&lt;article&gt;

		&lt;ul class='list'&gt;
			&lt;li class="show-detail"&gt;
				&lt;img src="img/1.jpg" height="80px"&gt;
				&lt;div&gt;
					&lt;h3&gt;Lorem ipsum&lt;/h3&gt;
					&lt;h4&gt;Radioactive&lt;/h4&gt;
					&lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt.&lt;/p&gt;
				&lt;/div&gt;
			&lt;/li&gt;
			&lt;li class="show-detail"&gt;
				&lt;aside&gt;
					&lt;img src="img/2.jpg" height="80px"&gt;
				&lt;/aside&gt;
				&lt;div&gt;
					&lt;h3&gt;Lorem ipsum&lt;/h3&gt;
					&lt;h4&gt;Radioactive&lt;/h4&gt;
					&lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt.&lt;/p&gt;
				&lt;/div&gt;
			&lt;/li&gt;
			&lt;li class="show-detail"&gt;
				&lt;aside&gt;
					&lt;img src="img/3.jpg" height="80px"&gt;
				&lt;/aside&gt;
				&lt;div&gt;
					&lt;h3&gt;Lorem ipsum&lt;/h3&gt;
					&lt;h4&gt;Radioactive&lt;/h4&gt;
					&lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt.&lt;/p&gt;
				&lt;/div&gt;
			&lt;/li&gt;
			&lt;li class="show-detail"&gt;
				&lt;aside&gt;
					&lt;img src="img/4.jpg" height="80px"&gt;
				&lt;/aside&gt;
				&lt;div&gt;
					&lt;h3&gt;Lorem ipsum&lt;/h3&gt;
					&lt;h4&gt;Radioactive&lt;/h4&gt;
					&lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt.&lt;/p&gt;
				&lt;/div&gt;
			&lt;/li&gt;
		&lt;/ul&gt;

	&lt;/article&gt;
	&lt;section class="overlay"&gt;

		&lt;button class="close-overlay"&gt;Hide&lt;/a&gt;

	&lt;/section&gt;</pre><p>
&nbsp;</p>
<p>Per fare ciò abbiamo utilizzato elementi <a href="http://www.upcreative.net/tag/html5/">html5</a> come <strong>nav</strong> ed <strong>article</strong>  e <strong>section</strong>, ma è possibile utilizzare  anche altri elementi con attributo css &#8220;<em>display:block</em>&#8220;. Abbiamo inoltre inserito all&#8217;interno del <em>tag article, </em>una lista con stili simili ad iOS7 (giusto per rimanere nel tema).</p>
<h3>Il foglio di stile CSS</h3>
<p>Prima di arrivare al passaggio più importante, ovvero attribuire ai vari elementi gli stili necessari per rendere possibile l&#8217;effetto overlay con blur, cerchiamo di dare alla pagina un aspetto che si avvicini più possibile alla grafica di iOS 7:</p><pre class="crayon-plain-tag">body, html{
	height: 100%;
	font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
	font-weight: 100;
	overflow: hidden;
}

nav {
  top: 0;
  height: 44px;
  padding:0;	  	  
  background-color: #F7F7F7;
  border-bottom: 1px solid #A7A7AA;	  	  
  position: relative;  
}	
nav .title {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  margin:0;
  width: 100%;
  font-size: 18px;
  font-weight: 100;
  line-height: 44px;
  color: #333;
  text-align: center;
  white-space: nowrap;
}

nav .title + button {
  position: absolute; 
  top: 5px;
  right: 5px;
  z-index: 10; 

  border-radius:4px;
  padding:6px 8px;
  border:none;	
  color: #397AFC;
  background: transparent;	  
}
nav .title + button:active{
	color: #7BB6FB;
}

article {
  position: fixed;
  top: 45px;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: auto;
  background: #EFEFF4;
  padding-top:20px;
}

.list {
   list-style: none;
   margin: 0 0 10px 0;
   padding: 0;
   border-top: solid 1px #c8c8c8;
   border-bottom: solid 1px #c8c8c8;
   background-color: #fff;
   overflow: hidden;
   width: 100%;
}

.list &gt; li {
   padding: 13px 15px 13px 15px;
   -webkit-transition: all .3s ease-out;
   -moz-transition: all .3s ease-out;
   transition: all .3s ease-out;
   position: relative;
   background-color: #fff;
   font-size: 12pt;
}
.list img{
	float:left;
	margin: 0 10px 10px 0;
}
.list h3,
.list h4,
.list p{
	font-size: 0.9em;
	margin:5px 0;
}

.list &gt; li::before {
   content: '';
   display: block;
   position: absolute;
   bottom: 0px;
   left: 15px;
   right: 0px;
   border-bottom: solid 1px #c8c8c8;
}

.list &gt; li.show-detail::after {
   content: 'i';
   display: block;
   height: 20px;
   width: 22px;
   border-radius: 20px;
   border: solid 1px #007aff;
   color: #007aff;
   font: bold 14px/0 'Times', serif;
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
   padding: 10px 8px;
   position: absolute;
   top: 10px;
   right: 15px;
}</pre><p>
Applicando questa porzione di codice abbiamo attribuito al documento il font &#8220;<strong>HelveticaNeue Light</strong>&#8220;, tipico del flat design targato Apple, abbiamo posizionato e &#8220;stilizzato&#8221; la barra di navigazione e gli elementi in essa contenuti (come titolo e pulsante d&#8217;azione) ed infine abbiamo posizionato il corpo della pagina, costituito appunto dal tag &#8220;<em>article</em>&#8220;.</p>
<p>Passiamo invece agli stili CSS che caratterizzano il risultato del nostro esperimento:  aggiungiamo la proprietà &#8220;<a href="http://www.w3schools.com/css3/css3_transitions.asp"><strong>transition</strong></a>&#8221; all&#8217;elemento article, specificando che sia applicata all&#8217;attributo <strong>filter</strong>.</p><pre class="crayon-plain-tag">article {
  position: fixed;
  top: 45px;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: auto;
  background: #EFEFF4;
  padding-top:20px;

  -webkit-transition: -webkit-filter .15s ease;
          		  transition: filter .15s ease;
}</pre><p>
&nbsp;</p>
<p>Poi aggiungiamo un blur di 15 px al contenuto della pagina nel caso in cui il body abbia la classe &#8220;<em>open-overlay</em>&#8220;, rimuovendolo invece nel caso in cui abbia la classe &#8220;<em>close-overlay</em>&#8220;.</p><pre class="crayon-plain-tag">body.open-overlay article{
	-webkit-filter:blur(15px);
	filter: blur(15px);
}

body.close-overlay article{
	-webkit-filter:none;
	filter:none;
}</pre><p>
&nbsp;</p>
<p>Ora l&#8217;elemento più importante: l&#8217;overlay. Attribuiamo al nostro overlay (tag section) una posizione assoluta nei confronti del documento e posizioniamolo in modo tale che non copra la barra di navigazione, poi aggiungiamo le altre proprietà fondamentali:</p>
<ol>
<li>L&#8217;attributo <em>visibility:hidden, </em>perchè nello &#8220;stato normale&#8221; l&#8217;overlay non deve essere visibile</li>
<li>L&#8217;attributo <em>backface-visibility:hidden</em> (nei suoi adattamenti per la compatibilità dei vari browser): con il quale miglioriamo le prestazioni di rendering nel caso di trasformazioni CSS prevenendo quest&#8217;ultimo dall&#8217;essere eseguito per la parte posteriore dell&#8217;elemento</li>
<li>L&#8217;attributo<em> transform:translate3d(0,0,0) </em>con il quale <strong>miglioriamo la fluidità della nostra animazione</strong> &#8220;<strong>forzando&#8221; l&#8217;utilizzo della GPU</strong></li>
<li>L&#8217;attributo &#8220;<em>animatior</em>&#8220;, con il quale comunichiamo all&#8217;overlay quale genere di animazione eseguire, quanto tempo deve durare, e che tipo di &#8220;andamento&#8221; eseguire (lineare, swing ecc.)</li>
<li>L&#8217;istruzione &#8220;<strong><a href="http://www.w3schools.com/css3/css3_animations.asp"><em>keyframe</em></a>&#8220;, </strong>con la quale definiamo le animazioni</li>
</ol>
<pre class="crayon-plain-tag">section {
  position: absolute;
  left: 0;
  top: 44px;	  
  right: 0;	
  bottom:0;  
  background-color: rgba(156,159,164,.5);	  
  padding:20px;
  text-align: center;

  visibility: hidden;

  /* migliora le prestazioni prevenendo il render della parte 'posteriore' dell'elemento */
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
   backface-visibility: hidden;

   /* accelerazione hardware */
   -webkit-transform: translate3d(0,0,0);
   -moz-transform: translate3d(0,0,0);
   -ms-transform: translate3d(0,0,0);
   transform: translate3d(0,0,0);			   
}	

body.open-overlay section{
	-webkit-animation: showFromBottom .25s ease both;
	-moz-animation: showFromBottom .25s ease both;
	animation: showFromBottom .25s ease both;

	visibility: visible;
}

body.close-overlay section{
	-webkit-animation: hideToBottom .25s ease both;
	-moz-animation: hideToBottom .25s ease both;
	animation: hideToBottom .25s ease both;
}

/* definizione delle animzioni dell'overlay  */

	@-webkit-keyframes showFromBottom {
		from { -webkit-transform: translateY(100%); }
	}
	@-moz-keyframes showFromBottom {
		from { -moz-transform: translateY(100%); }
	}
	@keyframes showFromBottom {
		from { transform: translateY(100%); }
	}

	@-webkit-keyframes hideToBottom {
		to { -webkit-transform: translateY(100%); }
	}
	@-moz-keyframes hideToBottom {
		to { -moz-transform: translateY(100%); }
	}
	@keyframes hideToBottom {
		to { transform: translateY(100%); }
	}</pre>
Apro una piccola parentesi in merito: devo dire che mi piace molto utilizzare la terza delle proprietà elencate, che permette, nel caso di dispositivi mobile, di raggiungere o perlomeno di avvicinarsi alle prestazioni delle applicazioni native.</p>
<p>Tornando a noi, vediamo come nel caso in cui il body abbia la classe &#8220;<em>open-overlay</em>&#8221; o &#8220;<em>close-overlay</em>&#8220;, il tag section debba eseguire le due animazioni rispettivamente di comparsa e scomparsa dichiarate sotto il codice &#8220;<em><strong>keyframes</strong></em>&#8221; : <strong>showFromBottom</strong> e <strong>hideToBottom</strong>. Abbiamo inoltre modificato l&#8217;attributo &#8220;<em>visibility:visible</em>&#8221; per rendere visibile il pannello.</p>
<p>Il risultato dovrebbe quindi essere il seguente:</p>
<ol>
<li>Nel caso di un body con classe &#8220;open-overlay&#8221; dovremmo vedere l&#8217;animazione dell&#8217;overlay assieme a quella del blur del documento.</li>
<li>Nel caso di un body con classe &#8220;close-overlay&#8221; dovremmo vedere esattamente le due animazioni opposte, per poi tornare allo stato iniziale.</li>
</ol>
<p>Passiamo quindi all&#8217;ultima parte.</p>
<h3>Il codice Javascript</h3>
<p>Per scrivere meno righe di javascript, incorporiamo nel documento due librerie: jQuery e Modernizr, rispettivamente per effettuare il bind degli eventi del click dei pulsanti di apertura e chiusura, e per ricavare il nome dell&#8217;evento di fine animazione, che varia a seconda del browser.</p><pre class="crayon-plain-tag">var endAnimationName = {
	'WebkitAnimation' : 'webkitAnimationEnd',
	'OAnimation' : 'oAnimationEnd',
	'msAnimation' : 'MSAnimationEnd',
	'animation' : 'animationend'
};
var animationName = endAnimationName[ Modernizr.prefixed( 'animation' ) ];

$(function(){
   //bind dell'evento click sul pulsante di attivazione 
   $("button.open-overlay").on("click", function(){
	   $("body").addClass("open-overlay");
   });
   $("button.close-overlay").on("click", function(){
	   $("body").addClass("close-overlay").on(animationName, function(){				   
		   $(this).off(animationName)
		   .removeClass("open-overlay close-overlay");
	   });
   });
});</pre><p>
Alla fine dell&#8217;animazione di chiusura, togliamo al body entrambe le classi &#8220;open-overlay&#8221;  e &#8220;close-overlay&#8221;, per ritornare così allo stato di partenza.</p>
<h3>Conclusioni finali</h3>
<p>Purtroppo questo esperimento non è ancora ottimizzato con tutti i browser (per esempio nel caso di Firefox non è possibile applicare l&#8217;effetto blur al contenuto della pagina con il semplice attributo &#8220;<em>filter:blur</em>&#8221; ma solo servendosi degli <strong>effetti svg</strong>) e inoltre si tratta in fin dei conti di un workaround, in quanto l&#8217;effetto sul documento non è scaturito dalla sovrapposizione dell&#8217;overlay bensì da uno stile completamente separato. Tuttavia spero che questo tutorial ti sia d&#8217;aiuto per imparare nuove regole CSS3 e che magari potrai utilizzarlo nel tuo prossimo progetto!</p>

		</div> 
	</div> </div></div><div class="g-cols"><div class="one-half">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<div class="wpb_button align_center"><a href="http://www.upcreative.net/tutorials/30092013-CSS3-overlay-iOS-7-blur/"class="g-btn type_primary size_big"><span><i class="fa fa-icon-eye-open"></i>Demo</span></a></div>
 
		</div> 
	</div> </div><div class="one-half">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<div class="wpb_button align_center"><a href="http://www.upcreative.net/download/1898/"class="g-btn type_primary size_big"><span><i class="fa fa-icon-download-alt"></i>Download</span></a></div>
 
		</div> 
	</div> </div></div><div class="g-cols"><div class="full-width">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			
<h2>Crea la tua mobile app in HTML, CSS3 e Javascript</h2>
<p>Utilizzando questa tecnica unita a molte altre ho creato per i miei clienti oltre 10 applicazioni per dispositivi mobile, tra cui due progetti personali: <a title="Tint Weather App - HTML, CSS3 e javascript mobile app" href="http://www.upcreative.net/tint-weather-app/">Tint Weather App</a> e <a title="Dieta SI o NO? - HTML, CSS3 e javascript mobile app" href="http://www.upcreative.net/app-dieta-si-o-no/">Dieta SI o NO?</a>. Se anche tu sei un web designer e vuoi realizzare la tua applicazione mobile da distribuire nei vari stores, forse sarai interessato al mio e-book: <a title="Html Mobile Accelerato - Come realizzare HTML Mobile App fluide e preformanti" href="http://www.upcreative.net/html-mobile-accelerato/"><strong>HTML Mobile Accelerato</strong></a>.</p>
<p>Grazie ad esso verrai a conoscenza di tutte quelle tecniche che renderanno la tua applicazione mobile fluida e reattiva come quelle native.</p>

		</div> 
	</div> 
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			
<p>I am text block. Click edit button to change this text.</p>

		</div> 
	</div> 
	<div class="wpb_single_image wpb_content_element align_center">
		<div class="wpb_wrapper">
			
			<img width="563" height="418" src="http://www.upcreative.net/wp-content/uploads/2013/11/HTML-mobile-accelerato-ebook-cover1.png" class="attachment-full" alt="HTML-mobile-accelerato-ebook-cover" />
		</div> 
	</div> </div></div>
</div></div><p>The post <a rel="nofollow" href="https://www.upcreative.net/css3-tutorial-creare-effetto-overlay-ios-7-blur/">CSS3 Tutorial: Come creare un effetto overlay iOS 7 blur</a> appeared first on <a rel="nofollow" href="https://www.upcreative.net">upCreative</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.upcreative.net/css3-tutorial-creare-effetto-overlay-ios-7-blur/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>18 Free UI kit PSD gratuiti di alta qualità</title>
		<link>https://www.upcreative.net/18-free-ui-kit-psd-gratuiti-alta-qualita/</link>
		<comments>https://www.upcreative.net/18-free-ui-kit-psd-gratuiti-alta-qualita/#comments</comments>
		<pubDate>Tue, 24 Sep 2013 21:10:34 +0000</pubDate>
		<dc:creator><![CDATA[upcreative]]></dc:creator>
				<category><![CDATA[Free PSD]]></category>
		<category><![CDATA[Risorse]]></category>
		<category><![CDATA[Senza categoria]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[web inspiration]]></category>
		<category><![CDATA[flat]]></category>
		<category><![CDATA[freebie]]></category>
		<category><![CDATA[iOS 7]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[psd]]></category>
		<category><![CDATA[ui kit]]></category>

		<guid isPermaLink="false">http://www.upcreative.net/?p=1852</guid>
		<description><![CDATA[<p>In questo articolo avevo parlato di alcuni set di icone gratuite per arricchire la &#8220;dispensa del web designer&#8221;, e da usare nei propri progetti web. Oggi invece, sempre restando nell&#8217;ambito delle risorse gratuite, voglio segnalarti 18 Free UI KIT PSD da</p>
<p>The post <a rel="nofollow" href="https://www.upcreative.net/18-free-ui-kit-psd-gratuiti-alta-qualita/">18 Free UI kit PSD gratuiti di alta qualità</a> appeared first on <a rel="nofollow" href="https://www.upcreative.net">upCreative</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div class="l-submain"><div class="l-submain-h g-html i-cf"><p>In <a title="Icone gratuite di alta qualità" href="http://www.upcreative.net/free-psd-13-set-icone-gratuite-di-qualita/">questo articolo</a> avevo parlato di alcuni set di icone gratuite per arricchire la &#8220;dispensa del web designer&#8221;, e da usare nei propri progetti web. Oggi invece, sempre restando nell&#8217;ambito delle <a title="Risorse gratuite per web designer" href="http://www.upcreative.net/category/risorse/">risorse gratuite</a>, voglio segnalarti 18 <strong>Free UI KIT PSD</strong> da scaricare gratuitamente, che potrai usare come spunto o come appoggio per strutturare il concept design di un nuovo lavoro.</p>
<p>Nella raccolta che ho stilato di seguito puoi trovare diversi stili di design e sistemi operativi: dal <strong>flat</strong>, al <strong>metro</strong>, da <strong>iOS 7</strong> a d <strong>Android</strong>, oppure anche gli elementi grafici dell&#8217;interfaccia di <strong>Google. </strong></p>
<p><strong>EDIT</strong>: Prima della lista mi sono sentito in obbligo di inserire questo UI KIT Altamente dettagliato e di qualità che ho trovato subito dopo aver scritto l&#8217;articolo, goditelo!</p>
<h3 itemprop="headline"><a href="http://speckyboy.com/2013/09/24/freebie-incredibly-detailed-flatty-ui-kit/">Freebie: The Incredibly Detailed Flatty UI Kit</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/freebie-incredibly-detailed-flatty-ui-kit.jpg"><img class="alignnone size-full wp-image-1886" alt="freebie-incredibly-detailed-flatty-ui-kit" src="http://www.upcreative.net/wp-content/uploads/2013/09/freebie-incredibly-detailed-flatty-ui-kit.jpg" width="690" height="433" /></a></p>
<h3><a href="http://dribbble.com/shots/1213126-iOS7-Ui-Kit">iOS 7 PSD Kit &#8211; Dribbble</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_01.jpg"><img class="alignnone size-full wp-image-1858" alt="Free-PSD-UI-Kits_01" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_01.jpg" width="690" height="433" /></a></p>
<h3><a href="http://www.egrappler.com/free-premium-like-flat-profile-psd-metro-inspired/">Metro Inspired Free Flat Profile PSD &#8211; EGrappler</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_02.jpg"><img class="alignnone size-full wp-image-1859" alt="Free-PSD-UI-Kits_02" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_02.jpg" width="690" height="433" /></a></p>
<h3><a href="http://premiumpsds.co/?work=ui-kit-2">UI KIT 2 &#8211; Premiumpsds.co</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_03.jpg"><img class="alignnone size-full wp-image-1860" alt="Free-PSD-UI-Kits_03" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_03.jpg" width="690" height="433" /></a></p>
<h3><a href="http://dribbble.com/shots/1177997-Ui-Kit-Free-PSD">UI KIT by  Pele Chaengsavang &#8211; Dribbble</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_04.jpg"><img class="alignnone size-full wp-image-1861" alt="Free-PSD-UI-Kits_04" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_04.jpg" width="690" height="433" /></a></p>
<h3><a href="http://www.designshock.com/android-gui/">Fully Editable Android GUI DesignShock</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_05.jpg"><img class="alignnone size-full wp-image-1862" alt="Free-PSD-UI-Kits_05" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_05.jpg" width="690" height="433" /></a></p>
<h3><a href="http://dribbble.com/shots/1173032-Ui-Kit-Free-PSD">UI KIT by Sanadas young &#8211; Dribbble</a></h3>
<h3><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_06.jpg"><img class="alignnone size-full wp-image-1863" alt="Free-PSD-UI-Kits_06" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_06.jpg" width="690" height="433" /></a></h3>
<h3><a href="http://www.andexdesign.com/ui-set-3/">UI SET &#8211; Andex Design</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_07.jpg"><img class="alignnone size-full wp-image-1864" alt="Free-PSD-UI-Kits_07" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_07.jpg" width="690" height="433" /></a></p>
<h3><a href="http://www.designshock.com/google-plus-template/">Google+ Template GUI -DesignShock</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_08.jpg"><img class="alignnone size-full wp-image-1865" alt="Free-PSD-UI-Kits_08" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_08.jpg" width="690" height="433" /></a></p>
<h3 id="screenshot-title"><a href="http://dribbble.com/shots/1153384-Flat-UI-Kit">Flat UI Kit by Jan Dvořák</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_09.jpg"><img class="alignnone size-full wp-image-1866" alt="Free-PSD-UI-Kits_09" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_09.jpg" width="690" height="433" /></a></p>
<h3><a href="http://graphicburger.com/ios-7-ui-components/">iOS 7 UI Components (PSD) &#8211; GraphicBurger</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_10.jpg"><img class="alignnone size-full wp-image-1867" alt="Free-PSD-UI-Kits_10" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_10.jpg" width="690" height="433" /></a></p>
<h3><a href="http://dribbble.com/shots/1117886-iOS-7-OmniGraffle-stencils-Freebie">iOS 7 OmniGraffle Stencils by Hardheaded.co &#8211; Dribbble</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_11.jpg"><img class="alignnone size-full wp-image-1868" alt="Free-PSD-UI-Kits_11" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_11.jpg" width="690" height="433" /></a></p>
<h3><a href="http://www.teehanlax.com/tools/ios7/">iOS7 GUI (PSD) &#8211; TeehanLax.com</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_12.jpg"><img class="alignnone size-full wp-image-1869" alt="Free-PSD-UI-Kits_12" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_12.jpg" width="690" height="433" /></a></p>
<h3><a href="http://sarahjustine.com/2013/03/17/featherweight-ui-a-free-vector-based-and-retina-ready-ui-kit-with-bonus-mini-tutorial/">Featherweight UI | A free, vector based and retina ready UI kit &#8211; Sara Hunt</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_13.jpg"><img class="alignnone size-full wp-image-1870" alt="Free-PSD-UI-Kits_13" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_13.jpg" width="690" height="433" /></a></p>
<h3><a href="http://graphicburger.com/blogmagazine-flat-ui-kit/">Blog/Magazine Flat UI Kit &#8211; Raul Taciu</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_14.jpg"><img class="alignnone size-full wp-image-1871" alt="Free-PSD-UI-Kits_14" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_14.jpg" width="690" height="433" /></a></p>
<h3><a href="http://hellomynameisad.am/project/even-a-flat-ui-kit/">EVEN: A FLAT UI KIT &#8211; Adam Robertson</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_20.jpg"><img class="alignnone size-full wp-image-1878" alt="Free-PSD-UI-Kits_20" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_20.jpg" width="690" height="433" /></a></p>
<h3><a href="http://www.behance.net/gallery/Free-Color-UI-Kit/9924127">Free Color UI Kit &#8211; Cüneyt ŞEN</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_15.jpg"><img class="alignnone size-full wp-image-1872" alt="Free-PSD-UI-Kits_15" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_15.jpg" width="690" height="433" /></a></p>
<h3><a href="http://dribbble.com/shots/1052522-Flat-Web-UI-Kit-Final-Pack">Flat Web &amp; UI Kit Final Pack &#8211; Dart 117</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_19.jpg"><img class="alignnone size-full wp-image-1876" alt="Free-PSD-UI-Kits_19" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_19.jpg" width="690" height="433" /></a></p>
<h3><a href="http://dribbble.com/shots/1198815-Orange-Cyan-UI">Orange/Cyan UI by Marc Konno &#8211; Dribbble</a></h3>
<p><a ref="magnificPopup" href="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_18.jpg"><img alt="Free-PSD-UI-Kits_18" src="http://www.upcreative.net/wp-content/uploads/2013/09/Free-PSD-UI-Kits_18.jpg" width="690" height="433" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div></div><p>The post <a rel="nofollow" href="https://www.upcreative.net/18-free-ui-kit-psd-gratuiti-alta-qualita/">18 Free UI kit PSD gratuiti di alta qualità</a> appeared first on <a rel="nofollow" href="https://www.upcreative.net">upCreative</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.upcreative.net/18-free-ui-kit-psd-gratuiti-alta-qualita/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
