Je veux que l'extérieur div
, qui est noir, enveloppe ses div
s flottant à l'intérieur. Je ne veux pas utiliser style='height: 200px
dans div
avec l' outerdiv
identifiant car je veux qu'il soit automatiquement à la hauteur de son contenu (par exemple, les flottants div
).
<div id='outerdiv' style='border: 1px solid black;background-color: black;'>
<div style='width=300px;border: red 1px dashed;float: left;'>
<p>xxxxxxxxxxxxxxxxxxxxxxxxxxxxx</p>
</div>
<div style='width=300px;border: red 1px dashed;float: right;'>
<p>zzzzzzzzzzzzzzzzzzzzzzzzzzzzz</p>
</div>
Comment y parvenir?
HTML/CSS
n'a jamais été une bonne technologie d'interface utilisateur, donc les choses contre-intuitives sont assez courantes :)float
solution. Fonctionne très bien avec les autres échouent, en particulier lorsqu'il est associé à Twitter Bootstrap.Tout d'abord, je vous recommande fortement de faire votre style CSS dans un fichier CSS externe, plutôt que de le faire en ligne. C'est beaucoup plus facile à maintenir et peut être plus réutilisable en utilisant des classes.
En travaillant sur la réponse d'Alex (et le clearfix de Garret) "ajouter un élément à la fin avec clear: both", vous pouvez le faire comme ceci:
Cela fonctionne (mais comme vous pouvez le voir, le CSS en ligne n'est pas si joli).
la source
Vous pouvez essayer les flotteurs à fermeture automatique, comme détaillé sur http://www.sitepoint.com/simple-clearing-of-floats/
Alors peut-être essayez soit
overflow: auto
(fonctionne généralement), soitoverflow: hidden
, comme l'a dit Alex.la source
Je sais que certaines personnes me détesteront, mais j'ai trouvé
display:table-cell
de l'aide dans ce cas.C'est vraiment plus propre.
la source
Tout d'abord, vous n'utilisez pas
width=300px
ce paramètre d'attribut pour la balise et non CSS, utilisezwidth: 300px;
plutôt.Je suggérerais d'appliquer la
clearfix
technique sur le#outerdiv
. Clearfix est une solution générale pour effacer 2 div flottants afin que le div parent se développe pour accueillir les 2 div flottants.Voici un exemple de votre situation et de ce que Clearfix fait pour la résoudre.
la source
Utilisez jQuery:
Définissez Parent Height = Child offsetHeight.
la source
Utilisation
clear: both;
J'ai passé plus d'une semaine à essayer de comprendre cela!
la source