pendant que je galère à compiler KompoZer 0.7.10rc6 sur ce meeeeeerveilleux OS qu'est Windows, je commence un petit how-to de la mise en page en <div>. Histoire aussi de faire suite à ce topic et celui-là.
C'est aussi une suggestion pour l'auteur de cet excellent tutoriel CSS : http://info.sio2.be/kpz/3/
(Après relecture de l'ensemble, je crois que c'est surtout une façon de passer le temps pendant les 2h que durent la compilation de KompoZer sur mon PC win32. Inutile de se sentir obligé de tout lire !)
Pour l'exemple, je suppose qu'on veut faire une mise en page classique : un en-tête, un pied de page, deux menus, une grande zone de contenu.
- Lancer KompoZer (ah bon ?).
- Ecrire 5 lignes :sans paragraphe ni mise en forme.
Code : Tout sélectionner
Titre Menu 1 Menu 2 Contenu Signature
- Cliquer sur la première ligne (Titre) et sélectionner "Conteneur générique (div)" comme format de paragraphe ; des pointillés viennent encadrer la première ligne, c'est bon signe.
Même chose sur les 4 lignes suivantes. - On peut commencer par remplir les menus. Je recommande vivement d'utiliser de simples listes de liens, qui seront très simple à mettre en forme par la suite : http://css.maxdesign.com.au/listamatic/
Là logiquement on se dit qu'il faudrait commencer à mettre ces zones de menu de part et d'autre de celle du contenu...- Clic dans le premier menu > clic droit dans le <div> de la barre d'état > "Styles internes" > onglet "Boite" (superbement nommé)
- On veut un menu secondaire de 150px de large à gauche ?
Float : left (liste déroulante)
Largeur : 150px - retour à l'onglet "Général" > "Extraire et créer un style générique" > entrer "menu1" comme nom de l'élément > valider
- dans la barre d'état, on devrait lire <div id="menu1">
- On réitère pour le menu secondaire :
- Clic dans le deuxième menu > clic droit dans le <div> de la barre d'état > "Styles internes" > onglet "Boite"
- On veut un menu secondaire de 150px de large à droite ?
Float : right (liste déroulante)
Largeur : 150px - retour à l'onglet "Général" > "Extraire et créer un style générique" > entrer "menu2" comme nom de l'élément > valider
- dans la barre d'état, on devrait lire <div id="menu2">
- Ca prend forme, mais les menus empiètent sur le pied de page.
- Clic dans le pied de page > clic droit dans le <div> de la barre d'état > "Styles internes" > onglet "Boite"
- Clear : both (liste déroulante)
- dans l'onglet "Fond", on peut en profiter pour choisir une jolie couleur de fond
- retour à l'onglet "Général" > "Extraire et créer un style générique" > entrer "footer" comme nom de l'élément > valider
- dans la barre d'état, on devrait lire <div id="footer">
- On peut ensuite commencer à remplir la zone de contenu. On s'aperçoit que dès qu'elle est plus longue que les menus, la mise en page part en sucette.
- Clic dans la zone de contenu > clic droit dans le <div> de la barre d'état > "Styles internes" > onglet "Boite"
- On spécifie des marges gauche et droite d'au moins 150px.
- retour à l'onglet "Général" > "Extraire et créer un style générique" > entrer "content" comme nom de l'élément > valider
- dans la barre d'état, on devrait lire <div id="content">
- Joie, bonheur : on a une mise en page correcte sans avoir utilisé de tableaux. On ne s'arrête pas en si bon chemin, on passe à l'en-tête :
- Clic dans l'en-tête > clic droit dans le <div> de la barre d'état > "Styles internes" > onglet "Fond"
- choisir une jolie couleur ou une image de fond
- retour à l'onglet "Général" > "Extraire et créer un style générique" > entrer "header" comme nom de l'élément > valider
- dans la barre d'état, on devrait lire <div id="header">
- Dernière étape : centrer le conteneur principal dans la page.
- clic droit sur le <body> de la barre d'état > "Styles internes" > onglet "Boite"
- on utilisera une largeur fixe :
largeur : 800px
marges gauce et droite : auto (liste déroulante) - retour à l'onglet "Général" > "Extraire et créer un style générique" > choisir l'option "tous les éléments de ce type" (oui, y'a un piège) > valider
- Ayé, c'est fini. Un Ctrl+S ne peut pas faire de mal.
On peut ajouter une règle "html" pour définir une couleur de fond pour toute la page, distincte de celle du conteneur principal (body).
Vous noterez que le mod'op serait plus simple si on avait des boites de propriétés pour les conteneurs <div> dans KompoZer... vos suggestions sont les bienvenues.
Si des modos jugent utile d'agrémenter ce mini-howto de quelques copies d'écran, qu'ils ne se gênent pas surtout.

Pas de panique : la prochaine fois que je compile KompoZer sous win32, je crois que je passerai le temps avec des cocottes en papier.