Bonsoir,
Je débute doucement avec les CSS et avant d'aller plus loin, je voudrais que vous confirmiez/infirmiez ce que je pense avoir compris sur le positionnement, avec mes mots à moi. Les tutos du site sont très bons, mais quelques doutes subsistent.
Je numérote pour faciliter vos remarques :
1. La propriété display définit le comportement d'un élément par rapport à ses frères (dans le flux du texte ou pas, occupation de toute la largeur ou adaptation au contenu...)
2. On distingue 2 grandes familles d'éléments : rendu bloc et en ligne.
3. Rendu bloc semble rassembler les display block, table, list-item (block + puce) et sûrement d'autres table-*
4. Rendu en ligne semble rassembler les display inline et inline-block (quoi que ce dernier est souvent cité à part)
5. Je placerais volontier table-cell dans inline, vu qu'il n'introduit pas de saut de ligne. Ou alors carrément à part.
6. La propriété position détermine la façon de calculer la position de l'élément
* static : suit le flux (valeur par défaut)
* relative : décalage possible par rapport à static, mais "réservation" de l'emplacement initial (sans décalage)
* absolute : par rapport au premier parent non-static, souvent un élément en relative sans décalage pour ne rien casser, ou body à défaut
7. La propriété float n'est pas vraiment prévue pour du positionnement mais faute de support complet de display, on fait avec (j'ai lu ça récemment mais j'ai oublié où et je n'ai pas mis la page en favori ). Pour le fonctionnement de float, je pense avoir compris donc je n'ai pas d'autres remarques (faut dire que c'est pas mal rabâché par ici)
Enfin, quelques petites précisions sur display:table-* :
8. display:table: l'élément casse le flux du texte (saut de ligne avant et après) mais n'occupe que la largeur nécessaire au contenu. Pour ce point, c'est juste qu'au final, quand on lit dans l'autre sens (effet produit -> propriété), il n'y a pas trop de lien entre le comportement obtenu et les tables, donc je me dis que j'ai peut-être raté quelque chose.
9. display:table-cell semble se suffire à elle-même, alors faut-il ou y a-t-il un intérêt à retrouver une structure complète de tableau à 3 niveaux display:table > display: table-row > display: table-cell ? (encore une fois, doute sur l'effet produit par rapport au nom de la valeur)
Voila ce que je pense avoir compris, ou quelles sont mes interrogations pour l'instant, merci de me dire si j'ai bon ou si je dois me mettre au macramé
Bonne soirée
Modifié par Seven tears (03 Feb 2010 - 19:58)
Je débute doucement avec les CSS et avant d'aller plus loin, je voudrais que vous confirmiez/infirmiez ce que je pense avoir compris sur le positionnement, avec mes mots à moi. Les tutos du site sont très bons, mais quelques doutes subsistent.
Je numérote pour faciliter vos remarques :
1. La propriété display définit le comportement d'un élément par rapport à ses frères (dans le flux du texte ou pas, occupation de toute la largeur ou adaptation au contenu...)
2. On distingue 2 grandes familles d'éléments : rendu bloc et en ligne.
3. Rendu bloc semble rassembler les display block, table, list-item (block + puce) et sûrement d'autres table-*
4. Rendu en ligne semble rassembler les display inline et inline-block (quoi que ce dernier est souvent cité à part)
5. Je placerais volontier table-cell dans inline, vu qu'il n'introduit pas de saut de ligne. Ou alors carrément à part.
6. La propriété position détermine la façon de calculer la position de l'élément
* static : suit le flux (valeur par défaut)
* relative : décalage possible par rapport à static, mais "réservation" de l'emplacement initial (sans décalage)
* absolute : par rapport au premier parent non-static, souvent un élément en relative sans décalage pour ne rien casser, ou body à défaut
7. La propriété float n'est pas vraiment prévue pour du positionnement mais faute de support complet de display, on fait avec (j'ai lu ça récemment mais j'ai oublié où et je n'ai pas mis la page en favori ). Pour le fonctionnement de float, je pense avoir compris donc je n'ai pas d'autres remarques (faut dire que c'est pas mal rabâché par ici)
Enfin, quelques petites précisions sur display:table-* :
8. display:table: l'élément casse le flux du texte (saut de ligne avant et après) mais n'occupe que la largeur nécessaire au contenu. Pour ce point, c'est juste qu'au final, quand on lit dans l'autre sens (effet produit -> propriété), il n'y a pas trop de lien entre le comportement obtenu et les tables, donc je me dis que j'ai peut-être raté quelque chose.
9. display:table-cell semble se suffire à elle-même, alors faut-il ou y a-t-il un intérêt à retrouver une structure complète de tableau à 3 niveaux display:table > display: table-row > display: table-cell ? (encore une fois, doute sur l'effet produit par rapport au nom de la valeur)
Voila ce que je pense avoir compris, ou quelles sont mes interrogations pour l'instant, merci de me dire si j'ai bon ou si je dois me mettre au macramé
Bonne soirée
Modifié par Seven tears (03 Feb 2010 - 19:58)