2010-09-02 7 views
1

J'ai un div wrapper qui est positionné en absolu. Est-il possible d'étendre la hauteur de la div wrapper pour accueillir le contenu et afficher la couleur de fond. Ci-dessous le code je:DIV positionné ne s'étend pas à la hauteur du contenu

CSS

html, body { 
width: 100%; 
height: 100%; 
margin: 0px; 
padding: 0px; 
border: 0px; 
} 

body { 
font-family: Arial,sans-serif; 
font-size: 2em; 
line-height: 1.5em; 
} 

#contentbody { 
position: absolute; 
left: 5px; 
right: 5px; 
top: 5px; 
bottom: 5px; 
background-color: Green; 
} 

HTML

<div id="contentbody"> 
<div id="content"> 
    <div style="height: 1500px;">some large content</div> 
</div> 
</div> 

Répondre

0

Je ne Je pense que vous devez définir bottom dans #contentbody. En réglant à la fois top et bottom, vous forcez la hauteur de la div à être la hauteur du port de visualisation du navigateur moins 10 (haut et bas).

+0

vous avez probablement raison, mais Je souhaite que la page entière (marge de moins de 5 pixels) soit couverte par une backgroundcolor même si le contenu n'est pas fullpage. comment pourrais-je résoudre cet autre qu'en utilisant à la fois haut et bas? – Geert

+0

@Geert comment définir une bordure sur l'élément de corps de la couleur que vous voulez, et une couleur de fond? –

+0

C'est peut-être la meilleure solution, mais ce n'est pas encore idéal. Qu'est-ce que vous voulez, c'est que la DIV elle-même s'étend au fond moins la marge de 5 pixels. mais je suppose qu'il n'y a pas de solution pour cela, à part peut-être du piratage JavaScript ... – Geert

0

essayez d'utiliser style = "overflow: scroll" sur votre DIV

ÉDITÉ: à Remoe overflow: auto

+2

débordement est automatique par défaut, donc je doute qu'il va l'aider avec cette – corroded

0

Ajouter le overflow: hidden à votre sélecteur html,body et trop-plein: auto à votre #contentbody div:

 html, body { 
     width: 100%; 
     height: 100%; 
     margin: 0px; 
     padding: 0px; 
     border: 0px; 

     overflow:hidden; /* overflow is hidden */ 
     } 

     body { 
     font-family: Arial,sans-serif; 
     font-size: 2em; 
     line-height: 1.5em; 
     } 

     #contentbody { 
     position: absolute; 
     left: 5px; 
     right: 5px; 
     top: 5px; 
     bottom: 5px; 
     background-color: Green; 

     overflow: auto; /* overflow is auto to allow scrolling */ 
     } 
+1

cela fonctionne pour cette situation, mais si vous avez (ce que je fais dans mon vrai script) une min-width et min-height sur le # contentbody div et l'écran du navigateur est trop petit pour afficher les valeurs min-width et min-height l'utilisateur ne peut pas voir tout le contenu (parce qu'il n'y a pas de barre de défilement du corps) – Geert

Questions connexes