J'ai un conteneur div tenant deux barres latérales de chaque côté et une boîte de contenu dans le milieu. Mise en page "blog" standard. Le contenu dépasse largement les barres latérales et la hauteur de la barre latérale s'arrête à ma dernière phrase. Comment puis-je étendre la hauteur de sorte que l'auto s'étend au bas de la page, donc la fin de la boîte de contenu au milieu?Barre latérale Div étendre toute la hauteur du conteneur
Répondre
Malheureusement, il n'y a aucun moyen infaillible d'y parvenir.
Une façon de faire ce qui suit sans utiliser JavaScript est via une technique appelée Faux-Columns.
Il consiste essentiellement à appliquer un background-image
aux éléments parents des éléments flottants, ce qui donne à penser que les deux éléments ont la même hauteur.
Plus d'informations:
Fondamentalement, vous ne pouvez pas. Si vous essayez d'obtenir un élément de conception (par exemple une image d'arrière-plan) pour aller jusqu'au fond, le meilleur moyen est de le truquer. Ce que je veux dire par là, c'est créer un emballage qui enveloppe toutes vos barres latérales et le contenu et faire de votre image d'arrière-plan l'arrière-plan de ce wrapper. Ensuite, il s'étendra jusqu'au fond.
Une autre façon de faire cela, si vous voulez vraiment (grincer) est d'utiliser des tables. Mais s'il te plait ne fais pas ça.
Jetez un oeil à CssPlay.co.uk
J'ai couru sur cette question à plusieurs reprises sur différents projets, mais j'ai trouvé une solution qui fonctionne pour moi. Vous devez utiliser quatre balises div - une qui contient la barre latérale, le contenu principal et un pied de page.
D'abord, le style des éléments dans votre feuille de style:
#container {
width: 100%;
background: #FFFAF0;
}
.content {
width: 950px;
float: right;
padding: 10px;
height: 100%;
background: #FFFAF0;
}
.sidebar {
width: 220px;
float: left;
height: 100%;
padding: 5px;
background: #FFFAF0;
}
#footer {
clear:both;
background:#FFFAF0;
}
Vous pouvez modifier les différents éléments mais vous voulez, juste être sûr que vous ne modifiez la propriété de bas de page « clear: both » - cela est très important . laisser dans
Ensuite, il suffit de configurer votre page web comme ceci:
<div id=”container”>
<div class=”sidebar”></div>
<div class=”content”></div>
<div id=”footer”></div>
</div>
J'ai écrit un billet de blog plus en profondeur à ce sujet à http://blog.thelibzter.com/how-to-make-a-sidebar-extend-the-entire-height-of-its-container S'il vous plaît laissez-moi savoir si vous avez des questions. J'espère que cela t'aides!
Les déclarations '100% height' ne sont-elles pas inutiles? Puisque le wrapper parent est 'auto'. –
Vous avez raison! Bonne prise - les déclarations de hauteur 100% ne sont pas nécessaires! merci :) les deux choses les plus importantes sont que l'image de fond ou la couleur de la barre latérale est la même que celle du conteneur, et que la div inférieure ("footer" dans cet exemple) a la propriété "clear: both". Je pense que tout le reste peut être édité autant que vous voulez ...
Voici comment faire:
Le code HTML:
<div id="container">
<div id="main">
Content...
</div>
<div id="sidebar">
Content...
</div>
</div>
Le CSS:
#container {
width: 1000px;
background: url(http://yourwebsite.com/images/dot.jpg) repeat;
overflow: auto;
}
#main {
width: 70%;
float: left;
}
#sidebar {
width: 30%;
float: right;
}
Comment faire "dot.jpg":
- open photoshop ou n'importe quel éditeur d'image
- créez une nouvelle image dont la hauteur est 1px et la largeur 1px.
- colorez la couleur que vous voulez.
- enregistrer l'image en tant que "dot.jpg" et télécharger dans votre dossier "images" sur votre site Web.
ne fonctionne pas?
Visitez http://yourwebsite.com/images/dot.jpg voir si vous voyez une image de points. Si vous voyez une erreur "404 not found" alors vous utilisez la mauvaise URL. Corrigez l'URL et cela fonctionnera.
REMARQUE:
Change "yourwebsite.com" à votre site Web.
Bonne chance!
Je pense que vous avez besoin d'un '#' devant les identifiants dans le CSS (c'est-à-dire '#container', '#main', '#sidebar') pour que cela fonctionne. – aku
- 1. Contenu du fluide div avec barre latérale en option
- 2. Comment distribuer div sur toute la largeur d'un conteneur?
- 3. L'extension de la barre latérale vers le bas la page
- 4. Forme de la barre latérale
- 5. jQuery - dynamique hauteur div égale à la hauteur de toute la fenêtre
- 6. Définition dynamique de la hauteur d'un DIV
- 7. Animation WPF pour étendre la hauteur du contrat
- 8. html table étendre toute la largeur?
- 9. Silverlight 2 Gadget de la barre latérale
- 10. Hauteur du contenu dans une div
- 11. iFrame pas étendre à 100% hauteur
- 12. Swing: Comment régler la hauteur d'un composant à la hauteur du conteneur?
- 13. CSS ou JQuery barre latérale fixe dans la mise en page du site
- 14. Comment créer un panneau de barre latérale dans OpenOffice?
- 15. Jquery et javascript hauteur différente de div
- 16. couleur d'arrière-plan ne couvre pas toute la hauteur de la div
- 17. Comment utiliser "float: left" dans un div sans casser la hauteur de l'élément conteneur?
- 18. La colonne principale apparaît où la colonne de la barre latérale se termine
- 19. La barre latérale ne s'affiche pas correctement dans Opera
- 20. jquery: assignation dynamique de la hauteur div
- 21. Comment puis-je retirer la barre latérale de type mobile?
- 22. Suppression de l'en-tête de la barre latérale d'ajout d'Outlook
- 23. Manipulation par programme de la barre latérale Vista
- 24. Comment modifier dynamiquement la hauteur d'un div
- 25. IE positions gauche barre latérale ci-dessous le contenu
- 26. Barre de défilement verticale pour une colonne de hauteur inconnue
- 27. comment insérer une barre latérale comme l'interface utilisateur dans la barre des tâches xp?
- 28. Aide pour la disposition DIV et la hauteur CSS
- 29. Vista Widget barre latérale + jQuery = Problèmes avec le menu déroulant
- 30. Comment obtenir un div pour redimensionner sa hauteur pour s'adapter à un conteneur?
Cela a fonctionné pour moi! tout ce que je devais faire était d'ajouter les lignes 'margin-bottom: -32767px; padding-bottom: 32767px; 'et j'ai eu le comportement dont j'avais besoin. – lem