2011-02-10 3 views
0

J'ai un DIV qui a plus de contenu que le DIV externe. Actuellement j'utilise overflow: auto; pour créer une barre de défilement. Cependant, je voudrais avoir la barre de défilement au niveau du navigateur plutôt que sur le côté de la DIV.Héritage CSS avec position: fixe utilisé pour le défilement DIVS

J'ai essayé de mettre tous les autres DIVS en position: fixed mais quand j'ai mis DIV en position: fixed la DIV que je veux faire défiler hérite de cette propriété en gelant ainsi toute la page. Sans mettre de position: fixé sur le conteneur DIV il défilera aussi.

Existe-t-il un moyen d'arrêter cet héritage, le seul élément pouvant défiler alors que le reste est réparé?

Mon site: http://www.longmeadoweventcenter.com/dev/reservations/

+0

Si vous voulez que la fenêtre du navigateur défile, pourquoi ne pas simplement rendre la hauteur fluide? – meagar

Répondre

0

Si je comprends bien votre question ce n'est pas faisable à moins que les actes de contenu comme défilants l'arrière-plan sur la page.

Avez-vous une maquette dessinée de vos intentions?

0

Ce que vous demandez n'est pas vraiment la façon «faite» de faire les choses. Ce n'est certainement pas possible comme vous le demandez.

Le problème évident est que se passe-t-il si le reste de votre page est trop grand pour l'écran et nécessite une barre de défilement?

Il est peut-être possible d'obtenir l'effet que vous recherchez, mais au prix d'une réorganisation complète de la structure de votre page et de limiter sérieusement ce que vous pouvez faire avec le reste de la page. Le plus proche que vous allez obtenir à ceci est de changer complètement la mise en page de telle sorte que la zone de défilement soit l'élément principal de la page, avec un position:static normal ou position:relative. En l'absence de tout autre contenu, cela agirait comme une page normale, mais nécessiterait de grandes marges de tous les côtés. Le reste du contenu de votre page sera ensuite positionné dessus, en utilisant z-index et position:fixed;. Cela devrait être sous la forme d'au moins quatre éléments distincts <div>, agissant efficacement comme une trame pour le contenu principal. Vous pouvez mettre tout ce que vous voulez dans ces éléments de cadre, mais évidemment, contrairement à la mise en page que vous avez décrite, vous ne pouvez pas avoir du contenu qui coule derrière la zone de défilement, ni entre les quatre divs. Donc l'effet est possible, mais pas facilement, et probablement pas de la façon dont vous envisagiez.