L'une des avancées de CSS 3 est la possibilité d'appliquer plusieurs background différents à un même élément. Jusqu'ici, si on voulait avoir par exemple plusieurs lien avec le même background plus une icone propre à chaque lien, il fallait se taper une image différente pour chaque lien ou ajouter un élément vide de type span à qui on appliquerait le background de l'icone. Maintenant, il suffit d'appliquer la texture unique et l'icone. Mais là où ça devient particulièrement intéressant, c'est quand on veut jouer avec des textures colorées.
Prenons une image de texture en png transparent et en niveau de gris :
Cette texture servira de masque à notre élément, puis on appliquera par dessus une couleur qui permettra de colorer l'élément. J'expliquerais éventuellement dans un autre article comment créer la texture avec Photoshop, c'est assez simple en fait.
Grâce aux propriétés suivantes :
.textured { background: url('http://img.over-blog-kiwi.com/0/00/01/19/201204/1334685545.4222.png'); } .textured.blue { background: url('http://img.over-blog-kiwi.com/0/00/01/19/201204/1334685545.4222.png'), blue; } .textured.red { background: url('http://img.over-blog-kiwi.com/0/00/01/19/201204/1334685545.4222.png'), red; } .textured.green { background-image: url('http://img.over-blog-kiwi.com/0/00/01/19/201204/1334685545.4222.png'), -webkit-gradient( linear, left bottom, right top, color-stop(0, rgb(195,255,173)), color-stop(1, rgb(29,143,0)) ); background-image: url('http://img.over-blog-kiwi.com/0/00/01/19/201204/1334685545.4222.png'), -moz-linear-gradient( left bottom, rgb(195,255,173) 0%, rgb(29,143,0) 100% ); } .textured.yellow { background-image: url('http://img.over-blog-kiwi.com/0/00/01/19/201204/1334685545.4222.png'), -webkit-gradient( linear, left bottom, right top, color-stop(0, rgb(255,248,173)), color-stop(1, rgb(143,79,0)) ); background-image: url('http://img.over-blog-kiwi.com/0/00/01/19/201204/1334685545.4222.png'), -moz-linear-gradient( left bottom, rgb(255,248,173) 0%, rgb(143,79,0) 100% ); } .textured.lsd { background-image: url('http://img.over-blog-kiwi.com/0/00/01/19/201204/1334685545.4222.png'), -webkit-gradient( linear, left bottom, right top, color-stop(0, rgb(255,0,0)), color-stop(0.1, rgb(255,153,0)), color-stop(0.2, rgb(255,242,0)), color-stop(0.3, rgb(68,255,0)), color-stop(0.4, rgb(0,255,183)), color-stop(0.5, rgb(0,98,255)), color-stop(0.6, rgb(60,0,255)), color-stop(0.7, rgb(213,0,255)), color-stop(0.8, rgb(255,0,102)), color-stop(0.9, rgb(0,0,0)), color-stop(1, rgb(255,255,255)) ); background-image: url('http://img.over-blog-kiwi.com/0/00/01/19/201204/1334685545.4222.png'), -moz-linear-gradient( left bottom, rgb(255,0,0) 0%, rgb(255,153,0) 10%, rgb(255,242,0) 20%, rgb(68,255,0) 30%, rgb(0,255,183) 40%, rgb(0,98,255) 50%, rgb(60,0,255) 60%, rgb(213,0,255) 70%, rgb(255,0,102) 80%, rgb(0,0,0) 90%, rgb(255,255,255) 100% ); }
…appliquées aux élements suivants :
<ul> <li class="textured">Texturé</li> <li class="textured blue">Texturé et bleu</li> <li class="textured red">Texturé et rouge</li> <li class="textured green">Texturé et dégradé vert</li> <li class="textured yellow">Texturé et jaune dégradé vert</li> <li class="textured lsd">Texturé et LSD</li> </ul>
- Texturé
- Texturé et bleu
- Texturé et rouge
- Texturé et dégradé vert
- Texturé et jaune devant, marron derrière
- Texturé et LSD
Pour les visiteurs avec de vieux browsers tels que IE cassez vous !, voici un aperçu de ce que vous verriez avec un navigateur à jour :
Voilà, avec une texture plus jolie et mieux travaillée, on peut faire des trucs vraiment très intéressants et surtout, gagner du temps quand le client a finalement changé d'avis sur la couleur du bouton ;)
Commentaires