Compass, trasformazioni e transizioni

15 settembre 2014

Compass mette a disposizione una serie di mixin per gestire transizioni e trasformazioni. Per comprenderne il funzionamento usiamo come al solito un semplice esempio.

Creiamo un quadrato, vi poniamo al centro 8 puntini e ne gestiamo l’:hover spostando ogni punto verso il bordo del quadrato. Per ciascun punto definiamo un delay e una funzione di timing diversa (provalo online).

Definiamo il codice HTML del quadrato e dei punti:

<div class="container">
<div class="point" id="point1"></div>
<div class="point" id="point2"></div>
<div class="point" id="point3"></div>
<div class="point" id="point4"></div>
<div class="point" id="point5"></div>
<div class="point" id="point6"></div>
<div class="point" id="point7"></div>
<div class="point" id="point8"></div>
</div>

Fatto questo passiamo alla stesura del file SCSS:

@import "compass/css3/border-radius";
@import "compass/css3/transition";
@import "compass/css3/transform";

.container{
	border: 1px solid #000;
	margin: 20px auto;
	width: 300px;
	height: 300px;
	position: relative;
	
	&:hover{
	 	 #point1{
			 @include translate(-150px, -150px);
	 	 }
	 	 #point2{
			 @include translate(0px, -150px);
	 	 }
	 	 #point3{
			 @include translate(150px, -150px);
	 	 }
	 	 #point4{
			 @include translate(150px, 0px);
	 	 }
	 	 #point5{
			 @include translate(150px, 150px);
	 	 }
	 	 #point6{
			 @include translate(0px, 150px);
	 	 }	 	 #point7{
			 @include translate(-150px, 150px);
	 	 }
	 	 #point8{
			 @include translate(-150px, 0px);
	 	 }
	}
}

.point{
	width: 20px;
	height: 20px;
	@include border-radius(10px);
	position: absolute;
	top: 140px;
	left: 140px;
	background-color: red;
	@include single-transition(transform, 1.5s, ease-in-out);
}
#point2{
	@include transition-timing-function(ease);
}
#point3{
	@include transition-timing-function(linear);
}
#point4{
	@include transition-delay(0.2s);
}
#point5{
	@include transition-delay(0.3s);
}
#point6{
	@include transition-delay(0.4s);
}
#point7{
	@include transition-delay(0.5s);
}
#point8{
	@include transition-delay(0.6s);
}

Dopo aver importato i mixin di Compass (transition, transform, e border-box) abbiamo definito il css di base di punti e quadrato.

Per ogni punto abbiamo definito una traslazione sfruttando il mixin translate e abbiamo sfruttato il mixin single-transition per definire una transizione della proprietà transform.

Abbiamo poi utilizzato i mixin transition-delay e transition-timing-function per modificare il delay e le funzioni di timing dei singoli punti. Compass si occuperà di gestire i prefissi sperimentali fornendoci un css che permetterà la visualizzazione dell’esempio sulla maggior parte dei browser disponibili sul mercato.

Tutte le lezioni

1 ... 9 10 11 ... 18

Se vuoi aggiornamenti su Compass, trasformazioni e transizioni inserisci la tua e-mail nel box qui sotto:
Tags:
 
X
Se vuoi aggiornamenti su Compass, trasformazioni e transizioni

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy