Les CSS3 permettent de réaliser des habillages et des transitions. Elles demandent une rédaction plus complexe, de plusieurs lignes afin d'appliquer les css à tous les navigateurs.
Seuls les navigateurs récents reconnaissent les propriétés CSS3,
Voici comment on les rédige :
propriété CSS3 : valeur;
-moz-propriété:valeur; pour les navigateurs Firefox < 4.
-o-propriété:valeur; pour opéra
-ms-propriété:valeur; pour Internet explorer
-webkit-propriété:valeur; pour Chrome <10, Safari <5.1 et Android ainsi que Safari Mobile <5.0
Les transitions permettent de changer d'état avec la seule aide des CSS. On peut modifier la couleur par exemple, avec un fondu, en utilisant la pseudo class :hover d'un lien, comme dans l'exemple suivant :
Voici le code qui utilise la couleur du fond comme transition avec un délai de 3s :
.bt-vert { background:#3C0; padding:10px; color:#000; text-decoration:none; border-radius:10px; -moz-border-radius:10px; -webkit-boder-radius:10px; -moz-transition: background 3s; /* Firefox 4 */ -webkit-transition: background 3s; /* Safari and Chrome */ -o-transition: background 3s; /* Opera */ } a.bt-vert:hover{ background:#060;color:#CCC;}
Les feuilles de styles CSS3 proposent de nombreuses transitions.
Elle permet de règler la manière dont se déroulera la transition. Elle a plusieurs valeurs possibles :
Pour comprendre la différence entre les différents effets de vitesse de transition :(timing), comme l'accélération cette page montre un excellent exemple :
http://www.w3schools.com/css/tryit.asp?filename=trycss3_transition_speed
ou celle-ci :
http://css3.bradshawenterprises.com/transitions/
div { width: 100px; height: 100px; background: #1CCF6D; -webkit-transition: width 2s; /* For Safari 3.1 to 6.0 */ transition: width 2s; } div:hover { width: 300px; }
div { width: 100px; height: 100px; background:#F39; -webkit-transition: width 2s; /* For Safari 3.1 to 6.0 */ transition: all ease 2s; } div:hover { width: 300px; background:#03C; }
#trans03 { -webkit-transition: width 2s, height 2s, -webkit-transform 2s; transition: width 2s, height 2s, transform 2s; } #trans03:hover { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
Pour voir plus de transitions avec des images : http://css3.bradshawenterprises.com/cfimg/