article
article
Dans cet exercice, vous ne devez modifier le HTML que si l'énoncé vous le demande explicitement, et vous ne devez pas modifier l'emplacement des fichiers (sauf si l'énoncé vous le demande).
En revanche, n'hésitez pas à regarder le contenu du HTML, ça peut aider !
Modifier l'élément link
dans l'en-tête de cette page pour y associer la feuille de style, en utilisant un chemin relatif (l'URL ne doit commencer ni par https:
, ni par un slash).
Tant que les couleurs n'ont pas changé, c'est que ça n'a pas marché ; inutile de continuer !
Toutes les boîtes ci-dessous sont des div
avec une classe box
. Le CSS utilise cette classe pour leur donner une bordure, des marges/paddings, et des dimensions fixées.
Ajoutez une nouvelle règle à la fin du fichier CSS pour que toutes les boîtes aient la couleur de fond gold
, grâce à la propriété background-color
.
On va maintenant ajouter comme image de fond à nos boîtes l'image suivante, dont le chemin relatif à partir de ce fichier HTML est ui/img/champi.png
.
Pour ajouter une image de fond en CSS, il faut utiliser la propriété background-image: url('blabla');
, où blabla
est l'URL de l'image.
Utilisez cette propriété dans la règle pour mettre le champignon en image de fond de toutes les boîtes, en utilisant un chemin relatif comme URL. Attention, les chemins relatifs dans le CSS sont résolus par rapport au chemin du fichier CSS, pas du fichier HTML !
Notez que l'image est répétée pour tapisser entièrement les boîtes, et qu'on voit par ailleurs la couleur de fond derrière l'image de fond (car elle est partiellement transparente).
Normalement, inverser l'ordre des deux propriétés dans notre règle ne devrait rien changer au résultat. Vérifiez-le (en n'oubliant pas de faire un hard reload). Si le résultat change, vous avez peut-être utilisé la propriété raccourci background
: changez-la.
La taille des images de fond en CSS est contrôlée par la propriété background-size
. Allez regarder la page de MDN sur cette propriété, et notamment l'exemple interactif au début. Utilisez cette page comme référence pour répondre aux questions suivantes.
Notez que chaque boîte a un identifiant distinct, ce qui permet de la cibler précisément depuis le CSS. Les autres boîtes de la page ne doivent pas changer !
pixels
,
faites en sorte que chaque champignon prenne 100 pixels de largeur et 50 pixels de hauteur.
pourcents
,
faites en sorte qu'il y ait exactement quatre champignons en largeur et deux champignons en hauteur.
etire
,
faites en sorte qu'il y ait exactement un seul champignon, étiré pour prendre toute la largeur et toute la hauteur.
couvrant
,
utilisez le mot-clef cover
comme valeur de background-size
.
Les boîtes ci-dessous sont dans un élément article
. Ajouter une règle CSS pour que ces boîtes-là (mais pas les précédentes !) aient la couleur de fond aquamarine
.
article
article
Ajoutez ensuite une propriété background-repeat
à votre règle,
et testez les valeurs présentées dans la doc de background-repeat
sur MDN. Pour finir, choisir la valeur qui supprime toute répétition.
Les boîtes ci-dessous sont également dans un article
. Si tout s'est bien passé, elles doivent avoir comme image de fond un seul champignon, collé en haut à gauche. On va maintenant modifier sa position avec background-position
: allez regarder la page de MDN sur cette propriété, et aidez-vous-en pour répondre aux questions suivantes.
NB: une nouvelle fois, chaque boîte a un identifiant distinct — utilisez-le depuis le CSS, afin que les autres boîtes de la page ne soient pas impactées.
decalage
,
faites en sorte que le champignon soit décalé de 20 pixels vers la droite et de 50 pixels vers le bas.
decalage-droite
,
faites en sorte que le champignon soit décalé de 20 pixels vers la gauche (utilisez une valeur négative !) et de 50 pixels vers le bas.
centre
,
faites en sorte que le champignon soit centré horizontalement et verticalement.
centre-haut
,
faites en sorte que le champignon soit tout en haut, mais centré horizontalement.
bas-droite
,
faites en sorte que le champignon soit tout en bas à droite.
bas-droite-decale
,
faites en sorte que le champignon soit également en bas à droite, mais cette fois
décalé de 5 pixels des bords.
Par définition, le texte d'un élément se retrouvera par-dessus le background de l'élément en question. Cependant, il est possible de tricher pour placer l'image de fond à côté du texte : il suffit de décaler le texte avec un padding.
L'encadré suivant est un aside
de classe info
.
info
pour lui mettre un fond blanc ainsi que notre champignon en image de fond, sans répétition.Constatez que notre image de fond n'en est plus vraiment une : c'est plutôt une sorte d'icône. Pour obtenir ce résultat, on aurait pu mettre l'image dans le HTML avec un élément img
, mais c'est moins approprié — c'est une image purement décorative, elle est à sa place dans le CSS !
background
Allez voir la doc de la propriété raccourcie background
, qui permet de déclarer tous les aspects des images de fond en une seule propriété.
Commentez la règle écrite dans la section précédente et réécrivez-en une qui soit équivalente en n'utilisant que deux propriétés, background
et padding
.
Toutes les propriétés sur les backgrounds peuvent en réalité définir plusieurs images de fond (il suffit de les séparer par des virgules, voir la doc). Elles seront empilées les unes sur les autres, la première de la liste étant devant et la dernière la plus derrière.
Utilisez cette possibilité pour mettre deux fois l'image du champignon comme fond de l'encadré suivant, d'identifiant double
. Celle de devant ne doit pas être répétée, doit être centrée et faire 200×200 pixels. Celle de derrière doit être répétée et la largeur de chaque champignon doit faire un dixième de la largeur de la boîte, sans déformation.
double