Claire:à la fois avant la fin du bloc
Si souvent, j'ai nous avons le vent de faire quelque chose comme ceci:
<div class="one">
<div class="floating-two">content</div>
<div class="clear"></div>
</div>
Ce que nous avons l'habitude de dire, c'est que "assurez-vous que tout flottait éléments sont inclus dans un bloc". Sof potentiellement, n'importe quel fond appliquée à la "une" apparaît derrière tout, flottants ou non.
Je suis à la recherche d'une manière plus propre de le faire. Après tout, le "clair" div est tout simplement un style que nous avons l'intention d'appliquer à la "une". Nous pourrions faire:
.floating-two:after{
clear:both;
}
Mais ce n'est pas correct non plus. Flottant-deux ne sait pas s'il pourrait y avoir d'autres blocs suivants avant de "un"'s la fermeture.
Quelqu'un a développé un truc pour ce que c'est?
- La compensation des flotteurs est une douleur. c'est l'une des raisons pour lesquelles je me retrouve à l'aide de
display:inline-block
pour la mise en plus de flotteurs de ces jours. - pourquoi le unaccept?
- J'ai juste écrit une explication sur ce problème, voir ce pour une démo: stackoverflow.com/questions/9559659/...
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
overflow: hidden
à l'extérieur sur le div, et il s'étendra à la hauteur nécessaire pour contenir les.floating-two
. Exemple jouait ici: http://jsfiddle.net/neilheinrich/rBBMp/6/Vous pouvez effacer le faire de deux façons, sans l'ajout d'une annotation (sans
<div class="clear"..>
ou equiv):OU
content: "";
fonctionnera aussiVous devez ajouter un élément réel avec le
clear
de la propriété. Si vous n'aimez pas les divs, utiliser un<br>
. C'est le plus court, élément qui permet de ne pas modifier le lay-out:MODIFIER
Je crois que RobW est correct en disant que vous ne pouvez pas faire cela avec :après, mais vous pouvez la rendre plus dynamique, avec ce css:
http://jsfiddle.net/qQaQg/2