Comment faire de la div du pourcentage de la largeur par rapport à la div parent et pas de fenêtre d'affichage
Voici le code HTML que je suis en train de travailler avec.
HTML:
<div id="outer" style="min-width: 2000px; min-height: 1000px; background: #3e3e3e;">
<div id="inner" style="left: 1%; top: 45px; width: 50%; height: auto; position: absolute; z-index: 1;">
<div style="background: #efffef; position: absolute; height: 400px; right: 0px; left: 0px;"></div>
</div>
</div>
Ce que je voudrais arriver, c'est pour l'intérieur de la div d'occuper 50% de l'espace de son parent div(extérieur). Au lieu de cela, il est obtenir 50% de l'espace disponible pour la fenêtre d'affichage, ce qui signifie que le navigateur/fenêtre d'affichage se rétrécit en taille, en fait.
Étant donné que l'extérieur div a min-width
de 2000px
, je m'attendrais à l'intérieur de la div au moins 1000px
de large.
- l'intérieur de la div est
position: absolute
, ce qui signifie qu'il est retiré de la normale de la circulation des documents, et n'est plus (pour la taille/position des calculs) un enfant de #extérieure. Vous voudrez peut-être essayerposition: relative
- Il n'est plus dans le flux de ses parents, mais votre commentaire à propos de n d'être un enfant de #extérieure est trompeuse. La description plus précise, c'est qu'il utilise le premier parent/ancêtre qui est absolument ou relativement positionné pour la taille/position des calculs
Vous devez vous connecter pour publier un commentaire.
La spécification d'une non-position statique, par exemple,
position: absolute/relative
sur un nœud signifie qu'il sera utilisé comme référence pour les éléments en position absolue en son sein http://jsfiddle.net/E5eEk/1/Voir https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Positioning#Positioning_contexts
CSS:
HTML:
position: relative
etabsolute
. +1!Utiliser la position: relative sur l'élément parent.
Notez également que si vous n'aviez pas ajouté des attributs de position à l'une des divs vous n'auriez pas vu ce problème. Juan explique plus loin.