Vous pouvez me contacter via Facebook pour questions & suggestions :
Page Facebook relative à mon site
Lorsque vous voulez insérer une image dans une page web, vous pensez forcément à la balise IMG. Mais dois-je rappeler qu'il
y a une autre solution : créer une boite et lui attribuer la propriété background-image.
Ainsi vous pouvez superposer dans une boite : une couleur de fond, une image (ou plusieurs) et du texte.
La version 3 de CSS est très riche en nouveautés.
Blabla ...
Blabla ...
Blabla ...
Blabla ...
Si vous voulez superposer du texte sur une image il faut créer une boite contenant l'image via le raccourci background
Cette image doit être relativement transparente afin que le texte reste lisible.
Par défaut, si l'image est plus petite que la boite (comme dans l'exemple) elle est répétée sur les deux axes.
Désormais il est possible d'avoir en arrière plan d'une boite plusieurs images !
On peut utiliser le raccourci background ou les différentes propriétés préfixées "background" :
background-image, background-color, background-repeat, background-position.
Une boite contenant 5 images positionnées. Les images sont insérées avec leur taille native.
Pour la boite identifiée jolies le raccourci background comprend cinq séries de valeurs séparées
par une virgule car il y a insertion de cinq images dans cette boite.
Pour chaque image on précise son chemin relatif, le terme no-repeat (pour que l'insertion soit unique),
le positionnement de l'image sur les deux axes (axe X, axe Y).
On peut combiner des images et une couleur de fond. Ici un fond de couleur "purple".
Le rendu sur un petit écran est moche car les images n'ont pas été redimensionnée.
Ci-dessous une boite avec trois images insérées et redimensionnées.
Dans le cadre du CSS j'utilise une autre syntaxe. Au lieu du raccourci background j'utilise les différentes propriétés préfixées "background-" : background-image, background-position, background-repeat, background-size, background-color.
Pour chaque propriété préfixée "background-" on a trois valeurs (ou couple de valeurs) séparées par des virgules.
Pourquoi trois ? Parce qu'il y a trois images insérées dans la boite !
Remarquez les différentes façons d'exprimer le positionnement de chaque image : en pixels, avec des mots clés voire en pourcentages.
Notez les différentes façons d'exprimer la largeur de chaque image : en pixels ou en pourcentage.
Dans la section précédente vous avez découvert la nouvelle composante de background : background-size.
La valeur de cette propriété peut être aussi "cover" ou "contain". Dans ce cas l'image unique n'est pas répétée et s'adapte aux dimensions la
boite parente. Que ce soit "cover" ou "contain" l'image de fond n'est pas déformée (respect des proportions).
Nous avons une image qui fait 700 pixels par 437.
Et nous voulons que cette image devienne l'arrière plan d'une boite qui fait 80% de large (par rapport à BODY) par 500px. Que faire ???
Ci-dessous l'image à insérer :
Avant la solution était de redimensionner l'image aux dimensions de la boite avec un logiciel tel paint.
Avec CSS 3 il suffit d'utiliser les propriétés background-size : cover /contain & background-repeat : no-repeat
Nous voulons insérer mais cette fois en premier plan, deux gifs animés susceptibles d'être déplacés
via une animation CSS.
Il faut donc que ces images soient des éléments de la page. Il faut alors utiliser la balise IMG
à l'intérieur du DIV conjointement avec les propriétés position : absolute; top & left : positionnement en absolu des images dans le DIV.
Remarquez que l'image de fond est rognée à droite (le grand sapin n'apparait plus).
La balise DIV contient deux éléments IMG.
Les gifs animés sont redimensionnés et positionnés par rapport à l'angle haut gauche du DIV car celle-ci est elle-même positionnée en absolu (ou relatif ou fixe)
Le code est strictement le même sauf que background-size vaut "contain".
L'image de fond n'est pas rognée mais on observe une grande bande blanche en bas de la boite.
En effet les proportions de l'image insérée étant différentes de celles du DIV, celle-ci n'occupe pas tout le conteneur.
Donc ici la première solution est préférable.
Le module "CSS backgrounds and borders module level 3" introduit de nouvelles propriétés préfixées "background-".
La propriété background-origin permet de préciser à partir de quel point se positionne l'image de fond.
Observez bien la position du coin haut gauche de l'image !
Cette nouvelle propriété permet de préciser si la couleur de fond doit s'étendre ou pas sous la bordure, la marge interne.