28172 sujets

CSS et mise en forme, CSS3

Bonjour,

mon site contient trois colonnes principales (barre de gauche, contenu et barre de droite) de longueurs bien définies. Selon les pages de mon site des colonnes peuvent de pas apparaitre. Je gère donc ces pages un avec display:none sur la colonne qui est vide, et une modification de la longueur des divs qui restent.

Ca devient vite fastidieux avec beaucoup de page, je dois modifier le css à chaque fois.

Existe t'il une astuce css pour gérer cela automatiquement ?

Merci d'avance Smiley smile
Modifié par sayadeur (06 Feb 2011 - 13:34)
bonjour,

A priori oui.

3 elements : A B C

technique classique flottante:
A et B en flottant (droite ou gauche et visible ou non)
C dans le flux avec un contexte de formatage modifié et toujours visible (overflow/display).

formatage en tableau Smiley decu exit IE7 et inferieur)
un conteneur en display:table; et 3 elements en display:table-cell ou none;

Sinon un exemple de ta/tes page serait le bienvenu.
GC
Je m'y suis penché, et j'ai trouvé deux solutions qui marchent pour ie>=6 et autres navigateurs.

La première:
http://matthewjamestaylor.com/blog/perfect-3-column.htm

Cette solution ne me convient pas parceque l'ordre des colonnes est B A C.

La 2nd solution que j'ai opté:
mettre des classes sur la balise body, et jouer avec cela pour définir les styles pour les différents cas de figures d'affichage des colonnes.

Merci quand même Smiley smile