J'ai un div wrapper qui contient 2 divs côte à côte. Au-dessus de ce conteneur, j'ai un div qui contient mon en-tête. La div enveloppe doit être de 100% moins la hauteur de l'en-tête. L'en-tête est d'environ 60 px. C'est corrigé. Donc, ma question est: comment puis-je définir la hauteur de mon div enveloppe à 100% moins les 60 px?
<div id="header"></div>
<div id="wrapper">
<div id="left"></div>
<div id="right"></div>
</div>
Réponses:
Voici un css fonctionnel, testé sous Firefox / IE7 / Safari / Chrome / Opera.
"overflow-y" n'est pas approuvé par le w3c, mais tous les principaux navigateurs le prennent en charge. Vos deux divs #left et #right afficheront une barre de défilement verticale si leur contenu est trop élevé.
Pour que cela fonctionne sous IE7, vous devez déclencher le mode conforme aux normes en ajoutant un DOCTYPE:
la source
position: relative
sur le conteneur. Placez ensuite le conteneur où vous le souhaitez sur la page.Dans CSS3, vous pouvez utiliser
la source
Si vous devez prendre en charge IE6, utilisez JavaScript afin de gérer la taille de la div enveloppe (définissez la position de l'élément en pixels après avoir lu la taille de la fenêtre). Si vous ne souhaitez pas utiliser JavaScript, cela ne peut pas être fait. Il existe des solutions de contournement, mais attendez une semaine ou deux pour que cela fonctionne dans tous les cas et dans tous les navigateurs.
Pour les autres navigateurs modernes, utilisez ce CSS:
la source
super ... maintenant j'ai cessé d'utiliser% he he he ... sauf pour le conteneur principal comme indiqué ci-dessous:
et voici le css:
j'ai testé cela dans tous les navigateurs connus et fonctionne très bien. Y a-t-il des inconvénients à utiliser cette méthode?
la source
Vous pouvez faire quelque chose comme la hauteur: calc (100% - nPx); par exemple hauteur: calc (100% - 70px);
la source
Assurez-vous que tout en utilisant moins
Sinon, moins ne va pas le compiler correctement
la source
Cela ne répond pas exactement à la question posée, mais cela crée le même effet visuel que vous essayez d'obtenir.
la source
Dans cet exemple, vous pouvez identifier différents domaines:
la source
Je n'ai encore rien vu de tel posté, mais je pensais l'avoir mis là-bas.
Ensuite CSS:
Voici un jsfiddle fonctionnel
Remarque: je n'ai aucune idée de la compatibilité du navigateur pour cela. Je jouais juste avec des solutions alternatives et cela semblait bien fonctionner.
la source
Utilisez un div de wrapper externe réglé à 100%, puis votre div de wrapper interne à 100% devrait maintenant être relatif à cela.
Je pensais à coup sûr que cela fonctionnait pour moi, mais apparemment pas:
la source
Si vous ne voulez pas utiliser le positionnement absolu et tout ce jazz, voici une solution que j'aime utiliser:
votre html:
votre css:
la source
#header
devrait l'êtremargin-top:-60px;
. Deuxièmement, celaheight:100%
signifie que la hauteur sera de 100% de la hauteur des éléments parents, sans compter les marges, le rembourrage et les bordures. Selon vos paramètres de défilement, cela entraînera l'apparition de barres de défilement ou le recadrage de votre contenu.