Positionnement de 2 div dans 1 & float [CSS] - HTML/CSS - Programmation
Marsh Posté le 05-07-2007 à 11:47:47
il faut pas mettre un truc du genre :
<p style="clear: both"/>
ou
<div style="clear: both"/>
dans le div container ?
(sinon en lui donnant un height)
Marsh Posté le 05-07-2007 à 12:10:58
En mettant "clear:both;" ça me positionne mieux, mais ça ne règle pas la hauteur, ça reste à "0";
Oui en effet en définissant une hauteur "height" ça marche, sauf que le texte n'est pas toujours de la même taille... donc je peut pas utiliser cette solution.
Marsh Posté le 05-07-2007 à 13:10:34
montre nous comment tu as mis le <br style="clear:both;" /> dans ton code
Marsh Posté le 05-07-2007 à 14:44:28
Code :
|
Marsh Posté le 05-07-2007 à 15:31:47
Salut,
Tu peux contourner un peu le problème avec cet attribut :
Code :
|
A mettre dans le code CSS de ton conteneur. Sa signifie que son height sera d'un minimum de 150px ...
Si sa peut t'aider
Marsh Posté le 05-07-2007 à 15:36:06
moreno911 a écrit : Salut,
|
Merci mais en fait j'avais déjà essayé et malheureusement lorsqu'un des bloc de texte est plus haut que 150px ça reviens au même
En fait je cherche à ce que le bloc "container" ai la même hauteur que le plus haut des 2 bloc de texte.
Marsh Posté le 05-07-2007 à 15:39:07
Oui je viens de comprendre ça, je suis [...]
Je cherche à fair le même chose que toi, bizard comme problème quand même !
Marsh Posté le 05-07-2007 à 18:15:25
c'est re moi
J'ai trouvé une solution ( pour mon cas en tout cas...)
Alors, dans le CSS tu mes ça :
Code :
|
et dans ta page ( en adaptant un tout petit peux of course ) :
Code :
|
Si tu as encore des soucis, n'hésite pas!
Marsh Posté le 05-07-2007 à 18:26:06
Put**n génial ! ça marche !!!
Merci beaucoup moreno
Je connaissait pas le :after et le content: ".";, ça sert à quoi
Marsh Posté le 05-07-2007 à 18:31:48
L'attibut "content" ajoute du contenu, il en ajoute avant ou après, dans notre cas c'est après donc => after
Voylou Voylou
Marsh Posté le 05-07-2007 à 19:55:27
Ajouter du contenu dans un css on aura tout vu
surtout que cette page me refroidi un peu sur son utilisation : http://www.quirksmode.org/css/content.html
et
http://www.htmldog.com/reference/c [...] s/content/
pas supporté par IE surtout ^^
Sinon si tu te creuse la tete et que tu vas sur openweb.eu tu arrivera à adapter la methode simple, valide et propre du clear:both..
genre :
Code :
|
ca marche, partout, c'est propre et valide
Marsh Posté le 06-07-2007 à 13:50:29
bixibu a écrit : Ajouter du contenu dans un css on aura tout vu |
Là, l'ajout ne concerne qu'une propriété css, on reste bien dans le cadre de la présentation et non pas du contenu, je ne vois donc pas le problème.
bixibu a écrit : |
Ce n'est pas un problème non plus puisque son conteneur a le layout, ce qui crèe un nouveau contexte de formatage sur IE, et que donc IE va adapter la taille du conteneur en fonction des 2 autres.
bixibu a écrit : |
Devoir ajouter une balise exprès pour dans le html, je n'appelle pas ça "propre". De plus le choix d'une balise br n'est pas neutre puisqu'il induit un saut de ligne qui pourraît être interprêté selon la configuration et les navigateurs.
Le fait est que, actuellement, css n'offre pas de solution propre à ce problème. La propriété css3 clear-after devrait pallier à ce manque.
En plus des 2 solutions évoquées ci-dessus (ajout d'une balise avec la propriété clear, ajout du clear via le :after), il me paraît important de préciser qu'un nouveau contexte de formatage permet d'avoir le même effet. Par exemple, rajouter un overflow:hidden (en donnant le layout pour IE6-) sur le conteneur, ou encore le faire flotter. Si je ne qualifierais pas non plus cette méthode de "propre", vu qu'on fait appel à une propriété pour l'effet quelle induit et non pas pour sa fonction première, elle a le mérite d'être la plus simple à mettre en oeuvre.
En ce sens, la solution la "moins sale" pour moi, idéologiquement parlant, est celle du :after puisqu'elle attribue la propriété adéquate à la balise concernée. Par contre vu sa lourdeur à mettre en oeuvre et la possibilité de voir un espace au bas du bloc concerné, je lui préfère une solution à l'aide d'un nouveau contexte de formatage.
Marsh Posté le 07-07-2007 à 15:42:50
Euh, tu ne donneras pas de layout a IE6 avec un overflow:hidden.
IE embarque une propriété hasLayout, qui permet de donner une consistance à un bloc. La même chose peut être obtenue surtout tous les navigateurs avec overflow:hidden; ou encore display:table-cell.
ptibat : Note qu'une div est de type bloc, et qu'un element floaté l'est automatiquement.
bixibu : Ta solution est inapropriée dans une grande majorité de cas, simplement parce qu'elle génère du contenu inutile, tout comme la solution de moreno911
Marsh Posté le 08-07-2007 à 10:14:28
Shinuza a écrit : Euh, tu ne donneras pas de layout a IE6 avec un overflow:hidden. |
C'est justement ce que j'ai dit, mais peut-être me suis-je mal exprimée.
Ajouter un overflow:hidden crèera un nouveau context de formattage sur le navigateurs récent, mais pas sur IE6, d'où ma précision de lui donner le layout pour y pallier.
Marsh Posté le 08-07-2007 à 19:46:35
Pitsy a écrit : C'est justement ce que j'ai dit, mais peut-être me suis-je mal exprimée. |
Sans oublier de rétablir l'overflow (_overflow:visible) pour IE car s'il te vient à l'esprit de mettre une hauteur minimum (ex : min-height:250px; _height:250px) à ton bloc, cela te permettra d'avoir un élément qui s'agrandit meme si l'overflow:hidden lui est collé. Et sinon dans le cas de notre ami, un display:table aurrait aussi bien fait l'affaire pour ajouter le contexte de formatage, puisqu'il a posé une largeur sur son bloc
Marsh Posté le 09-07-2007 à 08:01:51
Bonjour,
J'ai eu ce probleme en créant mon site, je voulais que le contenant s'adapte au contenu !
Je l'ai résolu en virant les "div" et en les remplacant par des "p" partout où c'était possible
Une question se pose alors : est-ce sémantiquement correct ?
Marsh Posté le 09-07-2007 à 09:29:14
c'est pas ça qui va résoudre ton problème
Et en plus dans un P tu n'as pas le droit de mettre d'éléments de type block à l'intérieure. Et donc les navigateurs referment la balise P dès qu'ils voient un DIV à l'intérieur d'un P
Marsh Posté le 28-11-2007 à 23:10:39
Il y'a de context de formatage sur #contenu, ton clear both sert à rien
Marsh Posté le 28-11-2007 à 23:44:46
je lui ai déjà dit 10 posts plus haut et c'est toujours pas fait, mais putain qu'est ce que tu fous
Marsh Posté le 29-11-2007 à 19:32:59
orang a écrit : Salut, |
Et t'as mis le contexte de formatage sur l'élement?
Marsh Posté le 29-11-2007 à 22:25:36
Bon,
Je recrée un poste, qui je l'espère vous apparaitra plus visible :
CSS :
Code :
|
HTML :
Code :
|
Lien du site : http://bloodybol.free.fr/index.php
Merci encore
Marsh Posté le 30-11-2007 à 04:10:07
Nom d'une couille putain
Tu mets overflow:hidden;_overflow:visible;zoom:1; sur ton élement "cadre" et on en parle plus
http://www.blog-and-blues.org/arti [...] _formatage
Marsh Posté le 30-11-2007 à 08:28:55
Merci d'avoir pris le temps de me répondre, et même de m'avoir envoyé un lien !
Mais je ne suis toujours pas parvenu à obtenir ce que je souhaitais. J'ai pourtant suivi à la lette le lien et les infos que tu m'as filé.
Merci encore en tout ca
Marsh Posté le 06-12-2007 à 10:40:14
Salut, je vois bien que mon problème consistant à vouloir placer deux div flottantes dans une autre n'est pas évident, toutefois, ce topic est la preuve qu'une solution existe.
Si dès fois vous aviez la solution, je suis évidemment preneur.
Merci encore
Marsh Posté le 06-12-2007 à 13:18:36
Bien sur qu'elle existe, je te l'ai donnée deux posts plus haut
Marsh Posté le 06-12-2007 à 13:31:57
Entendu désolé, je vais lire plus attentivement ton message.
merci
Marsh Posté le 05-07-2007 à 11:43:52
Bonjour
Bon étant donné qu'un schéma vaut mieux qu'un long discours.... voici ce que j'essaye de faire :
J'ai mis mes 2 div "zone de texte" en float:left; , ça rend bien sauf que mon "container" ne fait pas la taille des bloc à l'intérieur ...
Ca me donne ça :
Quelqu'un aurai la solution ?
---------------
flick r