Divs HTML, comment envelopper le contenu?
J'ai 3 div est comme sur cette image:
div1 a une largeur fixe, mais variable en hauteur, ce que je voudrais, c'est que si div1 hauteur est plus grande que la div2 hauteur, la div3 les séjours de moins de div2 et sur le droit de la div1, comme ici:
Aucune idée sur comment faire? Pour l'instant, j'ai créé un conteneur:
<div class="colcontainer">
<div class="col-left">
{% block news %}{% endblock %}
</div>
<div id="main_content">
<div class="col-right">
{% block rightcol %}{% endblock %}
</div>
<div id="content">
<div class="contentwrap">
<div class="itemwrap">
{% block content %}{% endblock %}
</div>
</div>
</div>
<div class="content-bottom"><div class="content-bottom-left"></div></div>
</div>
</div>
Mon CSS est comme ceci:
.col-left {
float:left;
padding:0;
margin:0;
width: 300px;
min-height:198px;
}
.col-right {
text-align:left;
padding:0;
margin:0 0 0 200px;
}
#content {
background: none repeat scroll 0 0 #FFFFFF;
float: left;
margin-top: 10px;
padding: 10px;
width: 980px;
}
Ici est la JSFiddle démo
source d'informationauteur Miloš
Vous devez vous connecter pour publier un commentaire.
Que CSS ne pas fournir tout ce que le travail encore, vous devrez utiliser le Javascript.
Je voudrais tout d'abord créer une page comme sur votre première image.
Alors je voudrais utiliser
qui renvoie à la hauteur de votre div et de le comparer à votre deuxième div hauteur:
Dans le corps, mettre le nécessaire css changements... cela devrait faire l'affaire.
Atlast, je l'ai eu 🙂 Juste envelopper tous ces trois éléments dans un élément parent comme indiqué ci-dessous.
HTML
CSS
Travail violon
Si vous voulez avoir la largeur de la troisième div à l'échelle de partir avant de lui-même alors je vous recommande fortement d'aller avec jQuery.
jQuery
Travail Violon
Si vous le style le
#content
comme cela que ça fonctionne.Avis il n'y a pas de float.
jsFiddle: http://jsfiddle.net/JRbFy/1/
jsFiddle avec une égale hauteur à gauche de la colonne et du contenu: en effet, les http://jsfiddle.net/JRbFy/2/
Si j'ai bien compris vous voulez quelque chose de ce genre?
Cela devrait fonctionner pour vous, au moins vous diriger dans la bonne direction.
CSS:
HTML:
Et enfin ma solution est en trop 🙂
Démo: http://jsfiddle.net/JRbFy/3/
Juste en utilisant
margin: 10px auto;
, et en prenant lacontent div
de lamain_content div
:HTML
CSS
Espère que ça aide
De voir que tout le monde luuuuuuurves jQuery, j'ai décidé de jeter quelque chose ensemble qui ne fait ce que vous avez demandé. Amusez-vous 🙂
Jeter un peu de css
Et enfin votre jQuery.
Maintenant. Je ne suis pas préconisent cette méthode, juste pour dire qu'en fait, il a réalisé ce que vous l'avez demandé alors que rien d'autre n'a ici 😉
Voir à cette jsFiddle. Simplement ajouter un plus <p>Test</p> div1 et vous verrez que div3 puis va vers la droite de la div1 selon votre image.
Maintenant, je sais que quelqu'un va dire "Mais div1 ne prend pas toute la hauteur et alors!", eh bien n'ayez pas peur. De vérifier la mise à jour jsFiddle avec un ajout de la pièce vers le javascript pour voir les réponses à vos questions. Il suffit de supprimer l'un des <p>Test</p> de la div1.
- Je rappeler que cette solution s'appuie sur le Javascript. Éteignez l'appareil ne supporte pas, ce arrêts de travail.
Pas nécessairement de réponses à la question, mais j'ai pensé que vous aimeriez savoir que dans le CSS 3 vous pouvez utiliser ce style - {word-wrap: break-word;} - pour s'adapter à une longue chaîne à l'intérieur d'un div.
J'ai probablement manqué de lire la question, mais n'est-ce pas avoir la mise en page souhaitée que vous vouliez.
https://jsfiddle.net/94ohw4hq/
Utilisation
pour résoudre votre problème