CSS3 et backgrounds multiples

C

CSS3 apporte son lot de nouveautés qui changent la donne en offrant de nombreuses possibilités d’intégration. Parmi ces nouveautés, on trouve la possibilité d’afficher plusieurs images d’arrière-plan à un même élément.

Le résultat obtenu est similaire à ce que peut produire un logiciel graphique ayant recours au système de calques : la première image déclarée dans la liste sera au premier plan, la seconde au second plan, etc … Si une couleur de fond est déclarée, elle sera toujours reléguée au dernier plan.

L’ordre de déclaration est important et doit impérativement correspondre aux images utilisées.

Démonstration par l’exemple : prenons un élément de type block comme un paragraphe. J’aimerais que ce paragraphe exprime une citation, et rien de tel que des guillemets pour signifier l’idée visuellement.

p {
  background-image: url('img1.jpg'), url('img2.jpg');
  background-position: left top, right bottom;
  background-repeat: no-repeat;
}

En écriture raccourcie, cela donne :

p {
  background: url('img1.jpg') left top no-repeat, url('img2.jpg') right bottom no-repeat;
}

Ce qui affiche le résultat suivant :

CSS3 multiple background

Au niveau de la compatibilité, les valeurs multiples de la propriété background sont reconnues par tous les navigateurs modernes sauf … surprise … Internet Explorer, qui ne les implémente qu’à partir de sa version 9. Pour palier à cela, il existe des possibilités de contournement en Javascript, notamment via jQuery, comme ici.

Cela a l’air de rien, mais c’est clairement un nouvel outil qui ouvre de belles perspectives en matière de webdesign, particulièrement dans le cadre de la réalisation d’animations.

A propos de l'auteur

Steve Lebleu

Cross-triathlète, amoureux de nature, de grands espaces et ... d'applications web. Curieux et touche-à-tout, je m'intéresse à tous les aspects du développement d'un projet web. Je suis développeur full stack freelance depuis 2018, principalement sur des piles Javascript.

Ajouter un commentaire