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/