Élément important de votre composition web, le background peut vite devenir un véritable casse tête. En effet, il faut conserver la lisibilité, penser à toutes les résolutions possibles, bref, garder une certaine souplesse.
Voici quelques pistes pour y voir plus clair.
Couleur unie
C’est, évidemment, l’option la plus simple. Un simple bout de CSS permet d’obtenir directement le rendu désiré.
body {
background-color:#ccc;
}
De plus, et contrairement à ce qu’on pourrait penser, c’est loin d’être un obstacle à l’obtention d’un joli site. Exemple sans doute le plus connu, Facebook. Le site n’est pas spécialement beau, mais il est sobre, efficace, on n’y trouve rien à redire.
MySpace n’est lui pas un joli site, mais il introduit la notion de blocs de couleurs. Le Background général de la page est gris-bleu, le contenu est dans des blocs de background blanc.
Dégradé
Le dégradé est un peu plus délicat à mettre en place, puisqu’il fait appel à un fichier image.
En effet, si CSS3 nous permet de réaliser des dégradés sans images, ceci n’est pas encore implémenté sur la plupart des navigateurs. Et, évidemment, on ne peut espérer profiter de ceci avant Internet Explorer 14.
L’intérêt du background en dégradé est proche de celui en couleur unie : sobriété, lisibilité. Le code CSS pourra ressembler à ça :
body {
background:url(‘imgs/background.png’) repeat-x #ccc top;
}
Nous indiquons d’abord l’url de l’image de fond, un dégradé de la taille que nous voulons, qui se répétera sur l’axe des abscisses. Nous indiquons, pour remplir le reste du fond, la couleur de sortie du background. L’attribut top positionnera le background en haut de l’écran, il est plus ou moins facultatif. En ajoutant l’attribut fixed, le background semblera fixé à l’écran, par rapport au contenu.
Imaginons que nous souhaitions faire un background en bas de l’écran, fixé au bord bas. Voici à quoi ressemblera le code :
body {
background:url(‘imgs/background.png’) repeat-x #ccc bottom fixed;
}
On fixe le background en bas, tout simplement.
Pour vous aider, voici un site qui permet de générer à la fois le dégradé, et aussi le code CSS correspondant. Bien pratique !
Ho, et un exemple de site utilisant un dégradé (quand il n’ont pas d’opération promo) : Jeuxvideo.com !
Mosaïque
Le principe du background en mosaïque est celui d’une image qui puisse se répéter en abscisse et en ordonnée à l’infini. Le gros défaut de ce type de background est la lisibilité : dans la grande majorité des cas, votre contenu devra être lui même contenu dans un bloc de couleur uni. C’est de toute façon souvent le cas.
Un cas rencontré souvent est celui des bandes de couleurs. Elles sont pratiques puisqu’elles restent sobres. Voici deux petits exemples de générateurs de bandes : Stripe Generator et Stripemania.
Des motifs ou des textures peuvent également être cool, tant que ça reste léger. Cette page permet de générer des background répétitifs qui vont bien.
A l’heure ou j’écris cet article, c’est un background en mosaïque qui décore m.icro.be.
Le code CSS pour ce type de background est bien commode :
body {
background:url(‘imgs/background.png’);
}
On a pas besoin de plus, même s’il peut être judicieux de définir une couleur unis proche des couleurs du motif, au cas ou le serveur n’arriverait pas à charger l’image.
Image Centrée
Un cas qui parait souvent très simple. Et pourtant.
Avant d’aller plus loin, je vous conseille de faire connaissance, si vous ne l’aviez pas déjà fait avant, avec la fonction CTRL+Molette de votre navigateur. En effet, pour comprendre le problème, il va être utile de dézoomer les quelques beaux exemples que je vais bientôt vous donner.
Car la problématique, dans ce cas présent, est que la résolution d’écran de vos visiteurs n’est pas toujours la même. Ainsi, vous ne pouvez vous fier à ce que vous voyez.
L’idéal est d’imaginer le background pour la plus grande résolution possible. Comme on doit faire attention à ne pas produire une image trop lourde, car il faut que vos visiteurs puissent la charger rapidement, il faut imaginer ce qu’il y aura au delà de ce background. Et la meilleure idée, à mon sens, est de partir sur un dégradé progressif sur les contours de l’image, pour finir donc sur une couleur unie. C’est pratique, ça passera sur toutes les résolutions, et ça fait donc joli.
Voici deux exemples d’utilisation de ce procédé, un bon et un moins bon :
usa.lagguitars.com utilise bien un dégradé progressif que la majorité des utilisateurs ne verra pas, mais qui ne gênera pas ceux qui auront un très grand écran et une très grande résolution.
A l’heure ou j’écris cette article, allocine a un fond promotionnel qui coupe net au delà de l’écran. Il est possible que le programme regarde à la volée la résolution de l’utilisateur, mais c’est une solution peu pratique et pas vraiment souple.
En ce qui concerne le code, il ressemblera à celui là :
body {
background:black url(‘imgs/background.jpg’) top center no-repeat fixed; }
Image flottante
Le cas de l’image flottante est particulier. Je l’illustrerais par deux exemples sur le même domaine.
La page d’accueil de Twitter possède une image bleue qui se répète en x, en haut, permettant ce petit effet plié tout simple et bien efficace.
Ma page personnelle sur Twitter, elle, possède un png à fond transparent positionné en un certain endroit de la page (par rapport au bord haut gauche).
Et c’est cet effet qui me plait particulièrement. Bien que le png à fond transparent ne soit pas supporté par IE6 (mais qui s’en soucie encore ?), il permet d’ajouter une touche de classe à une composition ayant un background uni. L’image peut être placée n’importe ou dans la page, ce qui laisse libre place à votre imagination.
Pour Terminer
Enfin, pour terminer ce petit article, quoi de mieux que l’exemple parfait ?
Si la perfection en matière de background existe, c’est sans doute le site Thinkgeek.
Observez le bien : En haut, un dégradé vers un gris sombre, non fixé. En bas, une image fixée, qui a la particularité d’être jolie, et qui se répète en x à l’infinie. Glissez jusqu’en bas de page. Je vous laisse admirer l’effet, puis étudier comment il a été réalisé. En bien bel exemple !