Mise en page en HTML et CSS
Prenons un cas pratique : j'ai fait une couverture avec plein d'objets mis en boîtes les uns à côté des autres pour un de mes recueils :
Il y a 77 cases donc autant dire que je n'avais pas envie de me farcir la mise en page manuellement.
C'est là que j'utilise un outil qui fait partie de notre quotidien : une page web.
Pour ceux qui n'y connaissent rien, il faut comprendre qu'une page web simple est essentiellement composée de deux éléments :
-HTML qui définit le contenu de la page
-CSS qui définit l'esthétique de la page
La première étape est donc de créer une page HTML qui contient les 77 images; on verra après pour leur agencement.
Une insertion d'image s'écrit ainsi : <img src="nomdelimage" />
Plutôt que d'écrire 77 fois cette même ligne (en adaptant nomdelimage à chaque fois) , j'ai demandé de l'aide à Python !
Bon le code est un peu long on va couper en plusieurs morceaux :
Avant de d'expliquer, je précise que toutes les images sont dans un dossier "images" et que le fichier python est juste à l'extérieur de ce dossier.
ligne 1-4 : importation des modules nécessaires (pas très passionnant)
ligne 6 : liste des couleurs que je veux pour mes bordures
ligne 7-8: le resultat, vide pour l'instant, et le total d'images, 0 pour l'instant
ligne 9 : on demande à python d'explorer le contenu du dossier "images" : files contient la liste des fichiers présents
ligne 10: 3 répétitions des instructions lignes 11-18 (d'où les doublons d'images dans la couverture)
ligne 11 : on mélange la liste des fichiers
ligne 12 : on explore la liste (mélangée) des fichiers:
ligne 13 : si le total d'images est inférieur à 77
ligne 14 : on choisit un numéro de couleur . La formule fait un peu peur mais l'idée c'est de suivre l'ordre en décalant de une couleur en passant à la ligne suivant (voir couverture)
ligne 15 : on définit un style local pour chaque image : ici une bordure avec la couleur choisie
ligne 16 : on crée la ligne HTML de l'image
lignes 17-18 : ajoute cette ligne au résultat et on ajoute 1 au total
La fin du code consiste essentiellement à enregistrer tout ça dans une page HTML
Je mettrai tout en commentaire mais y a pas grand chose à dire dessus.
On arrive maintenant au cœur de la mise en page : le CSS. Et c'est beaucoup plus simple !
div est un bloc qui contient l'ensemble des 77 images. Il a une marge extérieure de 10px (juste pour pas coller au bord de la page), et une largeur-hauteur fixés (ça correspond plutôt bien à celles d'une couverture wattpad en ratio)
Le display est la façon d'afficher les images à l'intérieur : là il place en ligne jusqu'à plus de place avant de commencer une nouvelle ligne (et oui c'est pas le comportement par défaut)
Le style de img va affecter chaque image : la largeur vaut 13 % de son conteneur (le div) donc on peut mettre 7 image en largeur. Pour la hauteur 8.5 % permet de caser 11 images à la verticale.
Ceux qui s'amusent à vérifier mes calculs remarqueront que 1/7 est plus proche de 0.14 que de 0.13 : j'ai un peu réduit parce que les bordures occupent de la place en extra
Et voilà c'est tout !
N'hésitez pas à me montrer vos créations avec cette technique !
Bạn đang đọc truyện trên: AzTruyen.Top