2010-11-09 7 views
1

J'essaye d'obtenir la disposition suivante sans tableaux ni JavaScript.Remplir tout l'espace disponible horizontalement et verticalement, avec divs

The layout

Il est essentiellement la disposition commune des logiciels de bureau. Certaines barres d'outils et le contenu réel au milieu. J'essaie de reproduire la mise en page dans une application Web.

J'ai besoin que toutes les barres d'outils soient flexibles et optionnelles. Donc, dans un état, il peut y avoir seulement la barre d'outils supérieure avec 3 lignes d'icônes et dans un autre cas, les quatre barres d'outils avec juste un peu de contenu.

L'application utilise 100% de la largeur/hauteur du document et ne doit pas déborder. Cependant, la div au milieu a un débordement: auto et devrait évoluer dans toutes les directions. Il peut y avoir un cas où toutes les barres d'outils sont masquées, puis la div du milieu doit prendre l'ensemble du document.

L'application nécessite JavaScript et ne prend pas en charge IE6 du tout, mais je suis toujours à la recherche d'une façon cross-browser de le faire avec CSS.

C'est très facile et propre de le faire avec une table et je sais comment le faire avec JavaScript, mais j'ai rencontré ce problème plusieurs fois et je voudrais arrêter d'utiliser les tables.

+1

... et votre code actuel est? – Sotiris

+0

Je n'ai pas le code actuel. J'aborde habituellement ce problème avec une table, puisque je ne connais aucun moyen de le faire avec des divs. Je pourrais créer un exemple fixe de la mise en page, mais je pense que l'image dans ma question en dit assez. –

Répondre

4

Il ne peut pas être fait compatible avec tous les navigateurs. Utilisez le plugin jQuery javascript: http://layout.jquery-dev.net/

+0

C'est ce dont j'avais peur. Tout moyen de le faire avec les navigateurs modernes et CSS3? –

+0

Peut-être en HTML 5: http://www.smashingmagazine.com/2009/08/04/designing-a-html-5-layout-from-scratch/ http://www.net-kit.com/html5-css3-layout-tutoriels-et-templates/ – jmav

+0

@jmav, je suis curieux de savoir pourquoi ce * ne peut pas être compatible avec tous les navigateurs *. Je pense que c'est un étirement. Je ne vois rien dans le PO qui me laisserait croire, surtout quand IE6 n'a pas besoin d'être soutenu. –

Questions connexes