Overblog Tous les blogs Top blogs Photographie
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU

Paris, photo, humeurs, un peu de HTML/CSS pour faire sérieux. Feinte innocence et vraie naïveté (ou vice-versa). Encore un blog qui agite ses petits bras en couinant "Viens me lire !"

Publicité

CSS et mise en page - 6 Plus c'est moins grand, moins c'est plus petit. Vous voyez ?

détail du 'Dragon' de Max Escher

Toutes ces boîtes qu'on emboîte… comment font-elles pour rentrer les unes dans les autres ? Comment le navigateur s'y prend-il quand on ne lui donne aucune indication de dimension ? Et quand on lui en donne trop ? Et si on a prévu trop large ou trop serré ? Voilà les sujets du jour.

Il s'agit ni plus ni moins d'une présentation (allégée…) du chapitre 10 et d'une partie du chapitre 11 de la spécification CSS 2, qui seuls peuvent vous donner une information complète. Comme d'habitude, je me bornerai à y grappiller ce qui me semble le plus utile et à l'orner d'exemples, de jeux de mots faciles et de quelques règles issues de la pratique.

Rappel : les diverses dimensions d'une boîte

Dans le deuxième article,  Sortons en boîte , nous en avions déjà parlé. Résumé :

  1. une boîte, qu'elle soit  bloc  ou  en-ligne , possède en son centre un contenu. Ses dimensions sont positives ou nulles. Pour une boîte  bloc  ce contenu est forcément d'un seul tenant et rectangulaire. Pour une boîte  en-ligne , ce contenu peut être coupé par les sauts de ligne, c'est un assemblage de rectangles.  Bloc ,  en-ligne  kézako ? L'essentiel est dans le troisième article.
  2. toute boîte possède, autour de sa  boîte de contenu  (content box), une épaisseur de padding ( remplissage ) dont on peut préciser la valeur, positive ou nulle, pour chacun des quatre côtés.
  3. à cet ensemble contenu / remplissage s'ajoute une épaisseur de bordure. Mêmes possibilités et contraintes que pour le padding ;
  4. à ce nouvel ensemble contenu / remplissage / bordure s'ajoute enfin une épaisseur de marge. Mêmes possibilités, mais les valeurs négatives sont autorisées.
Le fourbe dévoile son jeu

Notez que je n'ai été, jusqu'à maintenant, vraiment précis que pour ce qui entoure la boîte de contenu. J'ai seulement signalé, à l'occasion, que les dimensions de cette boîte de contenu s'indiquent par width et height pour une boîte de bloc, et ne s'indiquent pas, en général, pour une boîte en ligne.

Quelles sont les dimensions de cette  boîte de contenu , quand on laisse faire la nature, et même pour les boîtes en-ligne ?  En général  est une formule prudente, mais quels sont les cas particuliers ? On y vient, mais il faut d'abord préciser quelque chose.

Le fourbe entretient le suspense : le bloc conteneur

Lecteur attentif, vous avez en mémoire tout ce que j'ai déjà dit, donc il est inutile de vous rappeler que, dans le premier article, vous aviez subi un assez long développement sur l'organisation arborescente d'une page HTML, avec les notions de  parent , d'  enfant , d'  ancêtre  et de  descendant  (suis-je faux-jeton, tout de même… ).

En très court : le parent est celui qui contient l'autre, body est l'ancêtre de tout ce qui s'affiche, html est l'ancêtre de tout le monde. Cette arborescence est une arborescence des informations, des éléments HTML. Les boîtes emboîtées (que j'aime cette assonnance, décidément !) affichées à l'écran en composent une autre. Puisque les boîtes proviennent directement des éléments HTML, ces deux arborescences sont superposables – abstraction faite du  rameau  head qui ne s'affiche pas. Fin du rappel.

Le rôle du bloc conteneur

Le placement d'une boîte se fait, le plus souvent, par rapport à la boîte qui la contient. De même, quand les dimensions sont exprimées en pourcentage, la base 100 est la dimension correspondante de la boîte contenante. Très précisément, la référence est la boîte de contenu de la boîte parent ; le capiton de padding, border et margin ne compte pas. Cette boîte de contenu de la boîte parent, c'est elle qu'on appelle le bloc conteneur de ce qui est immédiatement à l'intérieur.

Cette définition du bloc conteneur s'applique à la plupart des boîtes, elle recoupe certainement votre expérience de trifouilleur de blog. Mais il faut penser aussi à la  moinpart  des boîtes :

  • body ou html : tout en haut de la pyramide, (c'est pyramidal, un arbre ? Ahhh commencez pas à chipoter, hein), sans personne pour le contenir, c'est donc le navigateur qui décide. Je pense qu'il choisit un rectangle de la taille de la fenêtre du navigateur, mais un rectangle mobile, qui bouge s'il y a des scrollbars. Ce point n'est pas très clair dans mon idée.
  • pour les éléments en position : fixed, le bloc conteneur est la fenêtre, on l'avait déjà signalé – et aussi le fait qu'IE traite fixed exactement comme absolute ;
  • pour les éléments en position : absolute (auxquels je consacrerai le prochain article) c'est un peu plus subtil : on remonte d'un parent au suivant jusqu'à trouver une boîte qui ne soit pas en positionnement par défaut (static) – autrement dit une boîte en position : absolute ou position : fixed ou position : relative. Au pire, il faut remonter jusqu'au body.
Comme d'hab', on pige que dalle

Voilà un peu de concret. Dans un blog OverBlog, au départ aucun élément n'a de positionnement particulier ( = autre que static), et un élément que vous mettrez en absolu se calera par rapport au body. Pause. MAIS si cet  élément absolu  se trouve, de près ou de loin, inclus dans un autre élément que vous avez déclaré  absolu  ou  fixe  ou  relatif  , il se placera par rapport à ce dernier.

Renversons le point de vue, vous y verrez peut-être plus clair : un élément que vous déclarez  absolu ,  fixe  ou  relatif  devient par là-même la référence, le  point zéro  des autres éléments  absolus  qu'il peut contenir. Aaaaaaah boooooon… C'est bien moins abstrait que vous ne le pensez, lisez la suite.

Peut-être qu'avec un exemple ?

Soit un brave blog, péniblement mis au point au fil des semaines. Un jour, vous jugez que le module  Recherche  serait plus utile s'il était en haut à gauche de la page. Pourquoi pas ? Vous ajoutez ceci au CSS :

 .recherche {position:absolute; top:10px ; left:20px} 
… et ça marche (peut-être ! attendez seulement qu'on parle des débordements) : le module sort de la colonne, ne laisse aucun trou derrière lui et vient se placer à 10 pixels du bord haut de la page, à 20 pixels de son bord gauche.

Bien bien. Plus tard, parce que vous avez un très haut bandeau en haut de page, vous vous dites aussi que ça serait bien de remonter la colonne de modules de 50 pixels, pour qu'on la voie mieux. Supposons qu'elle soit, comme ici, à droite des articles : elle s'appelle donc cl_1_1 et une ligne de CSS suffit pour la faire grimper  :

 #cl_1_1 {position:relative; top:-50px} 

Ça marche aussi… mais c'est la cata pour le module de recherche : le voilà qui s'invite dans le haut de cette colonne déplacée, à 10 pixels du haut et 20 de la gauche ! Explication : la colonne de modules, en devenant  relative , est aussi devenue le  bloc conteneur  du module  recherche , dont les coordonnées sont désormais comptées à partir de cette colonne.

Comment s'en sortir ? Ou bien en changeant les coordonnées top et left du module de recherche, ou bien en remplaçant la deuxième ligne de CSS par :

 #cl_1_1 {margin-top:-50px} 
… qui produit le même résultat visuel.

Question à toujours se poser : absolute oui, mais par rapport à quoi ?

Je n'ai pas de règle simple à vous donner, tout dépend de votre projet d'ensemble si vous en avez un.

La seule méthode qui vaille est de ne pas céder à la panique. Plutôt que d'empiler des rustines pour redresser à toute force un CSS et/ou un HTML bancals, mieux vaut détricoter toutes les modifications scabreuses et reconstituer pas à pas le blog, en observant ce que fait chaque étape pour repérer le moment critique. Et ça c'est un enseignement de l'expérience – parce que le coup du module baladeur, je l'ai vécu…

Bon alors, ces dimensions ?

Les explications rigoureuses sont ici pour la largeur et ici pour la hauteur, je vous suggère d'y aller voir quand vous aurez digéré mon article.

Comme toujours, c'est assez simple et intuitif quand on ne précise rien. En première approche, et pour des boîtes  normales , qui restent dans le flux ( static ou relative) , on peut dire que  :

  • les boîtes en-ligne s'étalent en largeur selon leur besoin mais pas plus, sans déborder du bloc conteneur : c'est sa largeur à lui qui déclenche les retours à la ligne. Une boîte en-ligne est taillée au plus juste ;
  • les boîtes de bloc, à l'inverse, tendent à occuper toute la largeur de leur bloc conteneur, même si leur contenu est tout petit. En hauteur, elles aussi sont taillées au plus juste.
  • les éléments dont le contenu vient d'ailleurs (images, vidéos…) (éléments  remplacés ) ont les dimensions propres à ce contenu, on peut les outrepasser avec width et height même si ce sont des éléments  en-ligne  : arrivé en fin de ligne, on ne coupe pas une image en deux comme on le fait pour du texte, on la renvoie au début de la ligne suivante – ouf !
Et quand on précise quelque chose ?

Le principe est que, pour la boîte incluse dans l'autre, la somme  largeur de contenu (width) + padding + bordures + marges  soit égale à la largeur du bloc conteneur, autrement dit au width de la boîte contenante et à lui seul (nota : pour les boîtes absolues et fixes, left et right s'ajoutent à la somme). Le même principe vaut pour la hauteur.

Un piège classique est de ne comparer que les width ou les height en oubliant remplissage, bordures et marges de la boîte incluse, or il suffit de rajouter hâtivement une bordure autour des articles (par exemple) pour faire exploser un design construit au pixel près – je vous renvoie à cette démo déjà vue dans le deuxième article.

Si on ne précise pas tout, le navigateur ajuste les termes laissés libres (= ceux de valeur auto qui n'est valeur par défaut que pour width et height) pour satisfaire l'égalité. Sans répéter ici tous les détails de la spécification CSS, retenez que :

  • pas de valeur auto possible pour les bordures et paddings : l'arbitrage se fait entre la largeur et les marges.
  • si on précise la largeur et une marge, l'autre marge est ajustée.
  • si on ne précise que les marges ou si on les laisse à leur zéro par défaut, la largeur d'une boîte de bloc est ajustée et le bloc remplit donc tout son conteneur, comme indiqué plus haut. Une boîte en-ligne n'est pas affectée, elle laisse un vide après elle pour la boîte en-ligne suivante.
  • si on ne précise que la largeur d'une boîte de bloc et que les deux marges sont auto, ce qu'il faut indiquer explicitement, les deux marges sont rendues égales.
  • pour tout savoir, reportez-vous à la spécification.

Si on précise tout (= aucune valeur auto) ya un blême. C'est alors la marge droite (pour des pages écrites de gauche à droite, ce qui est notre cas) qui est ajustée d'autorité. Et voilà, je crois, tout ce qui sert le plus souvent.

Quelquefois, ça sert

Le coup des marges  auto  est à la base de la classe CtreTexte qui sert à centrer une image. Définition de cette classe :

 .CtreTexte {display:block; margin: 0 auto} /* les marges gauche et droite sont auto*/ 

Quand on l'applique à une image :

  1. d'abord c'est une image, donc un élément a) en-ligne mais b) remplacé, donc elle a une largeur et une hauteur ;
  2. on en fait un bloc, donc sa boîte a vocation à remplir toute la largeur de l'article ;
  3. les deux marges de ce bloc étant auto, l'image se retrouve centrée sur l'axe vertical de l'article. CQFD.
SOS ça déborde !

L'idée essentielle de ce qui précède, c'est que le contenu s'ajuste au contenant et pas l'inverse. Exception (évidemment qu'il y en a une…) : les éléments absolus et fixes – prochain article, on est déjà assez occupés comme ça.

Autre exception, mais ça c'est un bug d'IE, l'interprétation de width : 100%. En toute logique, elle signifie que le contenu est aussi large que le contenant, pas plus et pas moins. Pour IE, seul de son espèce, elle signifie que le contenant peut s'élargir pour accueillir le contenu. Veuillez croire que j'ai souffert pour faire rentrer mes photos extra-larges dans les articles… La parade a été de leur donner une largeur de… 99.9% – on ne rit pas.

Et si le contenu est  trop grand  ? D'accord, on ajuste sa marge droite, on la rend négative pour retomber sur l'égalité sacrée, n'empêche que cet élément contenu dans l'autre déborde du bloc conteneur.

Hé oui, il déborde. Vous avez peut-être déjà croisé un maladroit qui, dans un commentaire, donne_un_lien_vers_un_site_absolument_génial_mais_avec_une_URL_à_coucher_dehors_qui_ne_veut_pas_rentrer_dans_ce_fichu_cadre (donne un lien vers un site absolument génial mais avec une URL à coucher dehors qui ne veut pas rentrer dans ce fichu cadre) , vous voyez donc ce que je veux dire.

Que faire de ce qui dépasse du conteneur ? La propriété overflow , avec ses quatre valeurs visible, hidden, scroll(plus rarement employée) et auto est là pour ça. Notez bien qu'on l'attribue au bloc qui contient l'autre, pas l'inverse : le contenant commande le contenu.

Avec visible, comme ici, le surplus est affiché, avec hidden on le coupe à ras du conteneur. scroll fait apparaître des barres de scroll même si rien ne déborde alors que auto ne fait apparaître ces barres qu'en cas de débordement. On peut même distinguer le débordement horizontal du vertical en utilisant les propriétés overflow-x et overflow-y non encore normalisées mais très largement supportées.

Exemple de overflow:auto : les modules du petit bateau, modules auxquels j'ai imposé une hauteur. Lorsqu'il y a eu trop de liens pour tous les voir dans le module  Ailleurs …  est apparue une barre de défilement.

Pas très dur, vous verrez que le chapitre 11 de la spécification CSS2 n'en dit guère plus.

overflow, OverBlog ...

La chose intéressante à savoir est que, par défaut, les grandes zones d'un blog OverBlog, les #ln_0, #ln_1, #cl_1_0, #cl_1_1, etc. sont toutes en overflow:hidden. Ce choix est sage, il vise à ne pas perturber les blogueurs novices : un texte ou une image brutalement rognés c'est triste, mais moins laid et moins déroutant que si ça bave sur le reste du blog ou qu'une barre de scroll apparaît sans prévenir pour deux pixels de dépassement.

Seulement seulement… Ce rognage s'applique naturellement à tout le contenu du bloc, même si on veut exprès le faire déborder. On peut vouloir ? On peut : l'icône de catégorie que j'affiche au coin supérieur gauche de certains articles fait partie du bandeau supérieur, or elle en déborde et c'est exprès. Il y a donc dans un coin de mon CSS #ln_0 {overflow:visible} sans lequel elle serait rognée, toute image en position : absolute qu'elle soit.

De même, pour le module  recherche  de tout à l'heure, il a fallu un #cl_1_1 {overflow:visible} pour le rendre visible, puisqu'il débordait de la colonne de modules.

Mascaron du Pont-Neuf

Oui mais toi t'es un fada pervers, un maniaque de la mise en page, tout le monde sait ça.

Merci du compliment, cependant il y a d'autres choses qui peuvent avoir à déborder du bandeau supérieur : par exemple, des menus déroulants…

Ah vous ouvrez un œil, là ! Un de ces jours je pondrai moi aussi un papier sur la confection de menus comme exercice d'application de cette série d'articles. En attendant, suffit pour aujourd'hui.


Pas compris ? Pas d'accord ? Parlez-en en commentaire.

Publicité
Retour à l'accueil
Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
C
oulala, on entend le soulagement là... pardon de vous embêter à ce point
Répondre
A
<br /> Du tout du tout ! seulement le soulagement de vous savoir contente du résultat ! J'attends la prochaine salve avec curiosité (masochisme ? Rhooo non !)<br /> <br /> <br />
C
youppie, impec, pile-poil, en même pas trente minutes ! merciiiiiiiii !!!!!!!!<br /> plus qu'à changer un peu le bas de la page d'expo pour l'aligner aussi
Répondre
M
<br /> Ouffff.... :-D<br /> <br /> <br />
C
grrrrrr :<br /> avec visiter * (en italique) souligné en blanc, c'est vraiment trop laid (i !), insupportable !<br /> * en bas avant la vigne
Répondre
A
<br /> On continue par mail, non ?<br /> <br /> <br />
C
Merci de votre patience !<br /> <br /> D'abord... vous parlez de celui en accueil, qui me va bien où je l'ai mis -sourire- (sauf que sous FF vous ne le voyez pas aligné où il faut, par rapport à l'article à gauche - pitié, je souffre... IE7 please ! *étiré, suppliant*, je ne sais pas le faire marcher sous les deux)<br /> <br /> non, il s'agit du compteur sur les pages "pages" liens et expositions qui n'ont pas le même texte à droite - ni les mêmes liens dans la bannière - que les pages "articles" http://christina.guwang.over-blog.fr/pages/liens-337775.html<br /> http://christina.guwang.over-blog.fr/pages/expositions-623551.html (pourquoi ne pas autoriser le html au fait ? ce serait plus joli et pratique, non ? sauf le cadre de saisie, d'accord, jurerait un peu)<br /> <br /> donc je voulais tout simplement qu'il considère la marge après lui (bas) comme une valeur absolue et non comme une valeur minimum, c'est plus clair ? <br /> mais n'ayant trouvé aucun exemple en ce sens, peut-être que ce n'est pas prévu, bien que ce serait étonnant...<br /> <br /> Ensuite... oui, c'est ce que j'ai appelé le footer plus haut, c'était aussi mon idée, sauf que je ne peux pas y toucher depuis le changement d'éditeur, sinon je perds le soulignage de mes liens en rouge, même sous IE - même problème qu'en accueil où je ne peux pas rajouter le s manquant à bols si je ne veux pas me retrouver avec visiter souligné en blanc, c'est vraiment trop laïd, insupportable ! <br /> (vous ne pouvez pas comprendre ma douleur, vu que sous FF c'est déjà comme ça... d'ailleurs, si vous avez une solution pour cela, je vous serais éternellement obligée, reconnaissante, à vos pieds, etc. !!!) <br /> <br /> Donc ce midi j'avais ajouté un nouveau texte libre au-dessus du bandeau en bas, mais il est encore vide parce que j'ai des amis qui sont arrivés à ce moment-là (et donc je n'ai pas eu ma sieste non plus).<br /> Tant mieux, comme ça je vais essayer de faire comme vous me le conseillez en 4, mais donc sans toucher au bandeau<br /> ... et si j'étais raisonnable je ne commencerais pas, on ne sait jamais, sinon je ne vais encore pas dormir... <br /> bon allez, juste un p'tit coup pour voir, des fois qu' ça marche les doigts dans l'nez<br /> <br /> bonne nuit !
Répondre
C
aie aie, pas encore trouvé, en fait je veux que le compteur sur la page de liens reste en bas, quelle que soit la longueur de la page (càd l'autre page où il apparaît est la page d'expos qui est plus longue et je ne veux pas qu'il se balade au milieu après les liens du module à droite) <br /> <br /> avant, parce qu'on n'en avait que trois, il était dans le même texte libre que les liens, mais dès que je rajoutais un lien il fallait réajuster pour qu'il soit aligné avec le bas de l'article à sa gauche (au moins sur la page de liens) je voulais donc faire d'une pierre deux coups : le mettre dans un nouveau texte libre en dessous mais "attaché" en bas pour ne plus devoir ajuster et qu'il ne se promene pas n'importe où sur la page d'expo<br /> <br /> évidemment le plus simple est de le supprimer, mais <br /> - un : je me suis encore fait prendre au jeu de vouloir résoudre le problème plutôt que de l'éliminer par impuissance, sans compter que ça peut servir de comprendre... <br /> - et accessoirement, deux : comme j'ai fait la blague en accueil de mettre un 1 (puis un 2) devant pour rire, pensant que c'était assez gros pour être compris comme tel... mais il y en a qui ne réfléchissent pas deux secondes et y croient !! alors je voulais rétablir la vérité sans sacrifier ma blague... je pourrais aussi supprimer tout le bazar un accueil, mais je trouve ça joli quand ça passe par de jolis nombres (2222 etc), c'est comme les plaques d'immatriculation des voitures, je m'égare<br /> <br /> * donc en fait je croyais que son bloc conteneur c'est le box (fond gris) puisqu'il est en position relative et j'ai mis un padding bottom, ça ne veut pas, alors j'ai mis top 135px (avec height il ne voulait pas descendre non plus) ça ça marche sauf bien sûr que pour la page de liens et pas l'autre, mais admettons que je m'en contente juste pour voir si le raisonnement marche : donc je lui avais mis un fond transparent pour qu'on puisse voir les nouveaux liens qui passeraient derrière et après j'ai trouvé votre overflow visible je l'ai mis dans le module de liens lequel j'ai mis du coup après le module du compteur dans le css, si j'ai bien compris le coup de l'ordre (j'ai pas encore essayé de rajouter des liens pour voir, sinon ce serait de mettre un z-index 1 au module de liens mais ça n'a pas l'air si simple si j'ai bien compris les possibles autres interactions ou dépendances... ?) <br /> sinon !important marche sous IE7, je l'ai déjà utilisé par ailleurs, alors j'imagine aussi avec overflow <br /> * IE6 très répandu : mais pourquoi (s'emm... euh) gardent-ils le 6 vu qu'il y a le 7 et il est gratos ???<br /> <br /> * si je vous comprends bien, je pourrais considérer plutôt le footer (la frise de bols) comme bloc conteneur si je veux ajuster le bas (même si visuellement il paraît à part ? parce qu'il n'a pas le fonds gris)<br /> je pense que vous n'y comprenez plus rien là, vu que vous n'êtes pas dans ma pauvre tête (chuis pas scientifique...)<br /> en plus que là on ne voit pas ce dont je parle, hier soir j'ai dû enregistrer avec fixed, où on ne le voyait pas, pour limiter les dégâts (j'ai un peu tout essayé au pif hier avant de prendre le taureau par les cornes et m'attaquer à votre pavé, j'y avais déjà lu qqs fois, mais sans projet ça restait abstrait)<br /> mais je vais le mettre tout à l'heure avec les 135px et voir la suite tranquillement, faudrait aussi que je prenne le pti dèj (ou le dèj tout court, vu l'heure, oulala, et que je dorme à l'occasion... c'est malade, quand je veux résoudre un truc je zappe tout sauf les bêtes) <br /> <br /> * oui, c'est ce que je fais, une à la fois, je prévisualise et j'efface, je n'ai toujours pas exporté chez moi, je sais, mais je pensais que j'avais fini... que ça ne valait plus le coup<br /> * oui j'ai bcp lu dans la spécif aussi, mais c'est la mémoire et l'esprit de synthèse qui me manquent, j'ai lu les mêmes trucs plein de fois cette nuit, et quand je crois avoir compris, je pense pouvoir m'en rappeler, mais altzheimer est plus fort ou moi trop bête... après je mélange tout ou je pars dans des raisonnements stériles, vu que j'en ai déjà oublié une partie en route, c'est pour ça que tout me prend un temps fou...<br /> deux heures pour le com, bon je ne relis pas <br /> allez hop, d'abord manger, à +<br /> <br /> Merci !
Répondre
A
<br /> *le compteur :<br /> si j'ai bien compris ce que vous tentez de faire, je crois que vous faites fausse route (c'est comme ça qu'on apprend).<br /> <br /> D'abord et de toute manière, puisque le compteur, son million-gag et le texte associé vont ensemble, emballez tout ça dans un div auquel vous donnerez un id parlant, "pavecompteur" ou équivalent.<br /> Vous serez au moins sûre de ne pas tout semer en route.<br /> <br /> Ensuite, qu'est-ce qui est toujours en bas de page quelle que soit la longueur d'icelle, mmhh ??<br /> Mmmmhhh ???????<br /> Le bandeau de bas de page, mais oui ! :-D<br /> <br /> Le plus simple, selon moi, serait donc<br /> 1 - de fourrer le pavé de comptage dans le bandeau de bas de page<br /> 2 - d'imposer une largeur à ce pavé. OK, ça va bousculer le bandeau, une minute !<br /> 3 - de mettre ce pavé en absolute : il ne bougera pas et le footer retrouvera son aspect antérieur<br /> 4 - pour finir, de "caler" ce pavé en jouant sur ses marges, avec sûrement un margin-top négatif pour remonter et un margin-left très important (à peu près la largeur des articles) pour faire venir<br /> le pavé à droite, superposé à la colonne de modules.<br /> <br /> <br /> Essayez voir ?<br /> <br /> <br />
C
"...qu'IE traite fixed exactement comme absolute"<br /> non pas IE7, pourquoi les gens qui ont le 6 ne passent donc pas au 7 ?<br /> ...<br /> <br /> "absolute oui, mais par rapport à quoi ?"<br /> par rapport au BAS de page (de l'article), c'est mon problème, il ignore le padding-bottom comme position absolue, tout se réfère au haut<br /> ...<br /> <br /> "mettez le bandeau supérieur de mon blog en position:absolute en cliquant ici et remontez voir. Pigé ?"<br /> youppie, je crois que le début de ma solution est là<br /> ...<br /> <br /> "En pratique, évitez de fixer deux côtés opposés ! Fixez plutôt un seul côté et imposez la largeur ou la hauteur."<br /> <br /> overflow:visible<br /> <br /> et si avec tout ça ça ne marche pas, j'essaierai le z-index par dessus le marché<br /> ...<br /> <br /> j'ai pris des notes ici en lisant, pardon d'avoir encore rempli vos coms... z'avez qu'à le balancer. <br /> comme ça vous avez assisté à la progression de mes idées, mais ne vous moquez pas si je suis à côté de la plaque, chuis pas futée mais je veux essayer quand-même...<br /> <br /> alors j'ai tout potassé jusqu'au dernier chapître y compris les renvois à la spécification css... je pense avoir compris de quoi j'ai besoin et maintenant je vais essayer de l'appliquer pendant que je me souviens de la synthèse, càd. à quoi peuvent bien servir les trucs que j'ai modifiés au fur et à mesure... chuis pas au lit... <br /> <br /> et si je n'y arrive pas après tout ça, je me permettrai alors de vous poser la question, d'accord ?
Répondre
A
<br /> Longue liste de courses !<br /> * position:fixed: oui, IE7 sait faire désormais et c'est bien. L'article date d'avant la sortie d'IE7, je le mettrai  à jour. Attention, IE6 est encore très répandu<br /> * "par rapport à quoi ?" : il ne s'agit pas de tel ou tel côté mais de telle ou telle boîte. Une fois connu le bloc conteneur, on peut placer l'absolute par rapport à son bas plutôt que son haut,<br /> sa droite plutôt que sa gauche, en précisant la valeur de "bottom" ou "right" plutôt que celle de "top" ou "left".<br /> * commencez par overflow, en vous rappelant qu'il s'applique au contenant (ce dont qqchose déborde) plutôt qu'au contenu (ce qui déborde)<br /> * ne vous excusez pas de laisser un commentaire, voyons ! :-)<br /> * à côté de la plaque ou pas ? Ben... comme vous seule savez ce que vous voulez faire...<br /> * ne tentez qu'une modif à la fois. Si elle ne donne rien, défaites-la avant de tenter la suivante.<br /> * en cas de doute, reportez-vous à la spécif plutôt qu'à mes articles, à l'original plutôt qu'à la paraphrase<br /> <br /> Et bon courage !<br /> <br /> <br />
C
orthographe d'exemple!
Répondre
A
<br /> Pardon ? que faut-il comprendre ? que j'ai mal orthographié un exemple (bien possible) ou que mon orthographe est exemplaire (huh...si c'est ça, je rosis !)<br /> <br /> <br />
R
Qu'es aco ? se dit-il...Il a raison de se la mordre. Et vu les crocs qu'il a...Et moi qui sait tout juste tapoter sur le clavier...Sourire...
Répondre
A
Bonjour, d'abord ... Ensuite : j'admets que cet article en couverture du blog, c'est un peu ...... austère :-) M'enfin, ce n'est pas le genre littéraire dominant de la maison et fouiller un peu t'en convaincra (j'espère !)