<div id="sidebar">sidebar</div> <div id="content">content</div> The sidebar is a fixed width of 100px. How do I make the width of content to 100% of the browser width?http://jsfiddle.net/chickendance/qQQTU/1/
3 Réponses :
Vous pouvez le faire avec SIMPLE CSS:
* { /* reset */ margin: 0; padding: 0; } html, body { /* for demo purposes only */ height: 100%; } #wrapper { /* for demo purposes only */ background: rgba(200, 200, 200, 0.6); height: 100%; } #sidebar { float: left; width: 100px; /* for demo purposes only */ background: rgba(200, 200, 200, 0.6); height: 50%; } #content { margin-left: 100px; /* for demo purposes only */ background: rgba(200, 200, 200, 0.9); height: 50%; }
Bon sang, tu m'as battu en quelques secondes!
@watson :) Je gagne un de temps en temps.
Cela fonctionne, merci. Mais #debar et #Content existent tous les deux à l'intérieur #wrapper. Pour une raison quelconque, la largeur de #Content s'étend sur le passé #wrapper d'environ 200px, provoquant apparaître des barres de défilement horizontales.
@Stevedolan Pouvez-vous publier les HTML et CSS pertinents?
Pourquoi le flotteur: gauche; avait besoin?
Le float: gauche; code> supprime la barre latérale du flux de la page, permettant au contenu
div code> pour être placé à la même décalage comme la barre latérale. Ajout du
Margin-gauche: 100px; code> empêche le contenu de se chevaucher dans la barre latérale.
Vous devez jouer avec la largeur% comme le reste de nous:
#content { background: green; float: left; width: 75%; }
Changez simplement vos propriétés #Content à ceci:
#content { background: green; float: left; width: 100%; margin-right: -200px; }
Vous pouvez utiliser le
CALC () CODE> Fonction a>, par exemple
Largeur: Calc (100% - 200px) code> car les largeurs des deux premiers éléments sont fixes. jsfiddle.net/qqqtu/3 .. bien que son non pris en charge dans IE 8 et ci-dessous.
+1 pour me présenter à cette sorcière
D'accord! J'ai toujours voulu que CSS fasse cela. Je ne savais pas qu'ils faisaient cela arriver. Soigné!