Bonsoir à tous !
Cela fait 3 jours que je m'arrache les cheveux sur ce petit bout de code pourtant simplissime dans le concept… J'ai lu et essayé toutes les combinaisons possibles, du positionnement au z-index en passant par le min-height et les différents hacks. Bref, j'ai besoin de vos lumières !
Un div (conteneur) centré horizontalement contient deux « colonnes » (en l'occurrence, deux div) qui doivent s'étirer sur 100 % de la hauteur de la fenêtre quelque soit le contenu de l'une ou de l'autre et quelques soit la position de l'ascenseur de scroll. Toute la subtilité réside dans le fait que la colonne bleue (celle de droite) doit chevaucher le bord droit la verte de +/- 10px.
Si je passe par un positionnement absolu, tout fonctionne, mais évidemment, en plus de ne pas être très "browsers-friendly" les marges négatives du bloc conteneur masquent son contenu si la fenêtre du navigateur n'est pas assez large. En positionnement relatif, je n'arrive pas à avoir une hauteur de 100% dans tous les cas de figure. En mélangeant relatif et absolu c'est mieux mais ça bug toujours si le contenu est trop grand…
Schéma de base :
http://h4xr.org/9lqh
Résultat obtenu avec le contenu du div bleu plus grand que celui du div vert :
http://h4xr.org/ykmi
Résultat obtenu avec le contenu du div vert plus grand que celui du div bleu :
http://h4xr.org/bffd
Côté CSS (code de base, avant mes différents essais) :
Côté XHTML :
Si vous avez une solution, je suis preneur…
Joyeuses fêtes et merci d'avance !
Erwan
Modifié par r-one (27 Dec 2008 - 16:38)
Cela fait 3 jours que je m'arrache les cheveux sur ce petit bout de code pourtant simplissime dans le concept… J'ai lu et essayé toutes les combinaisons possibles, du positionnement au z-index en passant par le min-height et les différents hacks. Bref, j'ai besoin de vos lumières !
Un div (conteneur) centré horizontalement contient deux « colonnes » (en l'occurrence, deux div) qui doivent s'étirer sur 100 % de la hauteur de la fenêtre quelque soit le contenu de l'une ou de l'autre et quelques soit la position de l'ascenseur de scroll. Toute la subtilité réside dans le fait que la colonne bleue (celle de droite) doit chevaucher le bord droit la verte de +/- 10px.
Si je passe par un positionnement absolu, tout fonctionne, mais évidemment, en plus de ne pas être très "browsers-friendly" les marges négatives du bloc conteneur masquent son contenu si la fenêtre du navigateur n'est pas assez large. En positionnement relatif, je n'arrive pas à avoir une hauteur de 100% dans tous les cas de figure. En mélangeant relatif et absolu c'est mieux mais ça bug toujours si le contenu est trop grand…
Schéma de base :
http://h4xr.org/9lqh
Résultat obtenu avec le contenu du div bleu plus grand que celui du div vert :
http://h4xr.org/ykmi
Résultat obtenu avec le contenu du div vert plus grand que celui du div bleu :
http://h4xr.org/bffd
Côté CSS (code de base, avant mes différents essais) :
[...] après le reset CSS
html,body { width:100%; height:100% }
#conteneur { width:910px; height:100%; margin:0 auto; background:#ccc }
#vert { width:230px; background:#6f0 }
#bleu { width:685px; height:100%; position:absolute; top:0px; margin-left:225px; background:#09f }
Côté XHTML :
<div id="conteneur">
<div id="vert"> Lorem… </div>
<div id="bleu"> Ipsum… </div>
</div>
Si vous avez une solution, je suis preneur…
Joyeuses fêtes et merci d'avance !
Erwan
Modifié par r-one (27 Dec 2008 - 16:38)