28173 sujets

CSS et mise en forme, CSS3

Bonjour,

Je veux réaliser des boites div de ce genre:
http://tinahpro.free.fr/debug/boite-div.jpg

C'est-à-dire, les deux boites .center partageront la place avec la boite .droite, si celle-ci est affichée. Si ce n'est pas le cas, alors les autres boites .center occuperont toute la place. Etant donné que les boites vertes ont la même classe: .center.

J'ai essayé avec le code suivant, mais ça le fait pas.

Aidez moi svp


Smiley sweatdrop
Modifié par cowboy (01 Dec 2007 - 00:03)
Salut

Supprime le float et le width sur le div center
et rajoute un margin-left de l'espace de ton div "left", et... supprime les "border" Smiley ravi
.center {
margin-bottom:5px;
margin-left :229px;
}
Modifié par oblik35000 (01 Dec 2007 - 00:12)
La solution donnée par oblik35000 peut être très bonne. Les blocs centraux, non flottants, ont une marge à gauche correspondant à la largeur du bloc de gauche plus un éventuel retrait, et à droite on se sert juste du comportement flottant des div.right qui repousseront non pas les blocs mais le contenu (texte) des blocs.
Dans cette configuration, on aura sans doute besoin d'une marge sur div.right: margin: 0 0 10px 15px; par exemple.

Si on veut que ce soit les blocs entiers (les div.centre) qui soient repoussés par le flottant, il faudra explorer la notion de contexte de formatage. On en parle un peu ici:
http://css.alsacreations.com/Faire-une-mise-en-page-sans-tableaux/design-trois-colonnes-positionnement-flottant

Bonne continuation. Smiley smile