— Publié le 21 novembre 2020 —
En CSS, on peut appliquer un arrière-plan à plusieurs types d’éléments. Souvent, on retrouve une couleur ou une image en arrière-plan d’un bloc mais sachez que vous pouvez également mettre un « background » à un titre, un paragraphe , une liste à puce…
Cette propriété permet de faire énormément de choses, nous allons passer en revue les différentes propriétés avec quelques exemples mais vous pouvez vous amuser à l’infini avec ça ! C’est parti !
background-color
Comme son nom l’indique, cette propriété permet de mettre un fond de couleur derrière un élément. On peut avoir un fond de couleur uniforme mais également avec des dégradés ou de la transparence. Voyons cela en exemple. Nous allons partir sur des fonds de couleur dans un bloc dans lequel nous avons un texte.
Fond dégradé
Un dégradé peut se faire de multiples façons : de haut en bas, de droite à gauche, l’inverse, du milieu vers l’extérieur… Les combinaisons et le nombre de couleurs sont multiples, vous pouvez utiliser un générateur de code pour vous faciliter la vie.
Dégradé vers la droite
Dégradé vers le haut
Fond transparent
On peut également jouer sur la transparence d’une couleur de fond en ajoutant la propriété Opacity.
Transparence 30%
Transparence 60%
background-image
Background-image permet de mettre une image en arrière-plan d’un élément. Par défaut, l’image est positionnée en haut à gauche et se répète verticalement et horizontalement jusqu’à remplir l’élément. Voyons ce comportement à l’aide d’un 1er exemple.
Exemple de Titre
2 astuces :
- au cas où l’image ne s’affiche pas, nous vous recommandons de mettre un fond de couleur quand même en plus du background image.
- quand on dit que l’image se répète dans toute la surface disponible, cela prend en compte les padding et les bordures (border) mais pas les margin.
Nous verrons un peu plus loin qu’en combinant d’autres propriétés à background-image, on va pouvoir en placer plusieurs dans un même élément, vous devez déjà avoir une petite idée de la manière dont nous allons procéder.
background-repeat
Nous venons de voir que par défaut, une image d’arrière-plan se répète automatiquement verticalement et horizontalement. Donc à quoi sert les background-repeat ?
- D’abord à ne PAS répéter l’image comme dans notre 1er exemple
- ou alors à la répéter seulement dans un sens. L’avantage de répéter l’image horizontalement par exemple, est de pouvoir couper une tranche très fine d’un motif et de la répéter plutôt que de charger une image plus lourde. Vous gagnerez en performance ! Vous pourrez demander à notre graphiste préféré, Jean-François, de vous expliquer comment couper certains motifs pour que le raccord soit parfait ! (Ca vous rappelle quelques épisodes de pose de papier-peint j’en suis sûre ;-)) Le temps de dire ouf, Jean-François a relevé le challenge et vous a expliqué comment créer et répéter un motif d’arrière-plan.
No-repeat
Exemple de Titre
Repeat-x
Dans cet exemple, l’image ne fait que 40 px de large et se répète dans la largeur. Notez le raccord parfait 😉
Pour une répétition verticale, on utilisera la valeur repeat-y.
Exemple de Titre
background-position
Nous avons vu dans background-image que par défaut l’image se positionne en haut à gauche. Grâce à la propriété nous allons pouvoir positionner notre image à d’autres endroits.
- Horizontalement, nous avons 3 choix : left, center, right
- Verticalement aussi : top, center, bottom
=> Ce qui nous donne 9 combinaisons possibles.
Si vous ne spécifiez qu’une valeur, la seconde sera center par défaut. Vous pouvez également utiliser des valeurs en % ou en pixels pour positionner vos images, d’abord à l’horizontal (axe x) puis à la verticale (axe y).
Exemple de Titre
Et donc grâce à cette propriété de positionnement, nous allons pouvoir utiliser plusieurs background-images dans le même bloc. Faisons le test avec les images dont nous disposons déjà.
Exemple de Titre
L’ordre dans lequel vous déclarez vos images est important. Les vagues sont déclarées avant les gouttes de la trame de fond donc les vagues seront au-dessous. Voyez ce que cela donne si on inverse. Et également, voyez comment on peut écrire le code en utilisant la super-propriété background qui regroupe toutes les autres :
Exemple de Titre
background-size
Nous allons maintenant parler… de la taille de l’image ! Et oui ! Alors la propriété background-size peut prendre les valeurs suivantes :
- auto : il s’agit de la taille originale de l’image
- lenght : il s’agit de spécifier la largeur puis la hauteur de l’image, en pixels ou en %. Si une seule valeur est spécifiée, l’autre sera auto par défaut.
- cover : pour couvrir la zone complète
- contain : l’image sera redimensionnée pour être visible
Alors changeons d’image pur voir les résultats possibles.
Auto
On voit ici que l’image couvre naturellement la largeur mais pas la hauteur, d’où le gris eu dessus et en dessous.
Exemple de Titre
Lenght
Ici, on va mettre une largeur à 70% et laisser la hauteur de régler de manière homothétique.
Exemple de Titre
Cover
L’image couvre toute la zone. Selon le type d’image, il faut la positionner pour garder à l’écran l’élément important (les fleurs) quand la taille de l’écran change.
Exemple de Titre
Contain
L’image est redimensionnée, agrandie ici pour couvrir la largeur, c’est pour ça que j’ai repris l’image de vagues qui fait 300px de large seulement dans une colonne de 450px.
Exemple de Titre
background-blend-mode
Le blend mode est un mode de fusion qui donne de l’effet sur les images. Les valeurs sont les suivantes :
- multiply
- screen
- overlay
- darken
- lighten
- color-dodge
- saturation
- color
- luminosity
Overlay
Exemple de Titre
Luminosity
Exemple de Titre
background-clip
On a vu qu’un arrière-plan (couleur ou image) s’étend sur toute la surface disponible, cela prend en compte les padding et les bordures. Background-clip va nous permettre de jouer sur cette zone et de définir jusqu’où l’arrière-plan doit aller. On a comme valeurs :
- border-box : c’est la valeur par défaut. L’arrière-plan va au delà de la bordure.
- padding-box : l’arrière-plan reste à l’intérieur de la bordure.
- content-box : l’arrière-plan reste au niveau du contenu.
Prenons l’exemple simple avec un arrière-plan couleur
border-box
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
padding-box
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
content-box
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
background-origin
La background-origin ressemble un peu à ce qu’on vient de voir mais pour un background-image.
- padding-box : cette fois, c’est le padding-box qui est la valeur par défaut. L’image d’arrière-plan est à l’intérieur de la bordure.
- border-box : l’image d’arrière-plan commence sous la bordure.
- content-box : l’image d’arrière-plan commence dans la zone de contenu.
padding-box
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
border-box
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
content-box
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
background-attachment
Cette propriété permet de définir si l’image de b’arrière-plan va défiler avec le reste de la page (scroll) ou rester fixe (fixed).
La position fixed s’utilise pour créer l’effet de parallaxe que vous voyez dans certains sites web.
Conclusion
Voilà, nous espérons que cet article vous aura plu et vous permettra de vous amuser avec vos arrière-plans.
Si vous avez des questions, posez-les en commentaires ci-dessous.
Et n’hésitez pas à partager vos propres retours d’expérience !
Bonjour
Merci de mettre un peu vos savoirs et votre temps en partage.
Article on ne peut plus clair et efficace.
Bonne journée
Merci 🙂
site incroyable merci