salut à tous,
je bloque sur une imbrication de float.
Je pars du code suivant, pas de gestion d'erreur, document valide xhtml 1.0 strict :
Le <p> id="p_float_left" est en float à gauche et le <div> id="div_float_right" qui est lui même conteneur d'un certain nombre d'éléments de type et comportement block est en float à droite.
je fait donc une css comme suit :
Cela donne quelque chose comme ceci :
http://www.clb56.fr/test_css/test_float/test_float_cool.html
Tout cela fonctionne parfaitement mais comme on le voit la deuxième partie du <div id="div_float_right "> que j'ai représentée avec un fond rose (dans le code source elle a l'id "div_float_right_sub_div_float_right" a une largeur déterminée par la première partie, d'un contenu plus large, du même conteneur.
Je souhaiterais que cela ne soit pas le cas et que #div_float_right_sub_div_float_right ait sa largeur simplement déterminée par son contenu.
Or ce <div id="div_float_right_sub_div_float_right"> est lui même conteneur d'éléments qui resteront en comportement block et ne peut donc être mis en comportement inline.
J'ai donc fait le choix de le mettre en float: right;
Soit donc l'imbrication
Voici la modification de css qui en résulte
Le résultat est ceci :
http://www.clb56.fr/test_css/test_float/test_float_pas_cool.html
Le moins que l'on puisse dire c'est que ce n'est pas bon.
Et pourtant il me semble bien bien avoir fait ce qui devait l'être quant aux contextes de formatage.
Mais bon si quelqu'un a une idée ben ce serait bien.
<edit>
Enfin surtout une idée sur une erreur que j'aurai pu faire, ou sur un oubli manifeste d'une propriété à mettre en oeuvre.
</edit>
Modifié par clb56 (15 Dec 2006 - 23:54)
je bloque sur une imbrication de float.
Je pars du code suivant, pas de gestion d'erreur, document valide xhtml 1.0 strict :
<body>
<div id="conteneur">
<p id="p_float_left">
Blablabla
</p>
<div id="div_float_right">
<p>
blublublublublublu
</p>
<div id="div_float_right_sub_div_float_right">
<p>
blibli_1
</p>
<p>
blibli_2
</p>
</div><!-- Fin #div_float_right_sub_div_float_right -->
</div><!-- Fin #div_float_right -->
</div><!-- Fin #conteneur -->
</body>
Le <p> id="p_float_left" est en float à gauche et le <div> id="div_float_right" qui est lui même conteneur d'un certain nombre d'éléments de type et comportement block est en float à droite.
je fait donc une css comme suit :
#conteneur {
padding:10px;
background:#ccc;
border:1px solid #000;
overflow:hidden;
}
#p_float_left {
float:left;
background:red;
}
#div_float_right {
float:right;
padding:10px;
background:#fff;
}
#div_float_right_sub_div_float_right {
background:pink;
padding:5px;
}
Cela donne quelque chose comme ceci :
http://www.clb56.fr/test_css/test_float/test_float_cool.html
Tout cela fonctionne parfaitement mais comme on le voit la deuxième partie du <div id="div_float_right "> que j'ai représentée avec un fond rose (dans le code source elle a l'id "div_float_right_sub_div_float_right" a une largeur déterminée par la première partie, d'un contenu plus large, du même conteneur.
Je souhaiterais que cela ne soit pas le cas et que #div_float_right_sub_div_float_right ait sa largeur simplement déterminée par son contenu.
Or ce <div id="div_float_right_sub_div_float_right"> est lui même conteneur d'éléments qui resteront en comportement block et ne peut donc être mis en comportement inline.
J'ai donc fait le choix de le mettre en float: right;
Soit donc l'imbrication
<div id="div_float_right">
...
<div id="div_float_right_sub_div_float_right">
</div><!-- Fin #div_float_right_sub_div_float_right -->
</div><!-- Fin #div_float_right -->
Voici la modification de css qui en résulte
#conteneur {
padding:10px;
background:#ccc;
border:1px solid #000;
overflow:hidden;
}
#p_float_left {
float:left;
background:red;
}
#div_float_right {
float:right;
padding:10px;
background:#fff;
overflow:hidden;
}
#div_float_right_sub_div_float_right {
float:right;
background:pink;
padding:5px;
}
Le résultat est ceci :
http://www.clb56.fr/test_css/test_float/test_float_pas_cool.html
Le moins que l'on puisse dire c'est que ce n'est pas bon.
Et pourtant il me semble bien bien avoir fait ce qui devait l'être quant aux contextes de formatage.
Mais bon si quelqu'un a une idée ben ce serait bien.
<edit>
Enfin surtout une idée sur une erreur que j'aurai pu faire, ou sur un oubli manifeste d'une propriété à mettre en oeuvre.
</edit>
Modifié par clb56 (15 Dec 2006 - 23:54)