par
Victor BRITO » 02 juil. 2008, 21:55
Pour aligner horizontalement deux éléments de bloc sans recourir aux bidouilles du codage à l'ancienne, il y a display: inline-block, qui marche sous Opera, Safari, Firefox 3 et Internet Explorer 8. Sous Firefox 2, il y a la valeur propriétaire display: -moz-inline-block. Sous Internet Explorer 6 et 7, display: inline-block est essentiellement utilisée pour avoir du
hasLayout, mais n'a pas d'effet sur les éléments de bloc ; dans ce cas, on recourt au positionnement flottant (ce qui est un exercice assez périlleux, surtout pour les blocs qui suivent des blocs flottants).
Autrement dit :
code HTML
Code : Tout sélectionner
<div id="global">
<div id="sidebar">
<!-- Le contenu du div -->
</div>
<div id="main">
<!-- Le contenu du div -->
</div>
</div>
CSS principale
Code : Tout sélectionner
#sidebar, #main {
display: -moz-inline-block; /* Pour Firefox 2 */
display: inline-block;
}
#sidebar {
width: 15%;
}
#main {
width: 85%;
}
CSS ciblant IE 6 et 7 (appelée via un commentaire conditionnel <!--[if lte IE 7]>)
Code : Tout sélectionner
#sidebar, #main {
float: left; /* Positionnement flottant */
}
/* Pour éviter trop de risques avec le positionnement flottant,
on fournit un contexte de formatage
au bloc qui contient nos deux blocs flottants */
#global {
overflow: hidden;
}
CSS ciblant IE 6 (appelée via un commentaire conditionnel <!--[if lte IE 6]>)
Code : Tout sélectionner
/* Pour IE 6, il faut donner du layout au bloc conteneur
pour que le contexte de formatage soit bien compris */
#global {
height: 1%;
}
Pour aligner horizontalement deux éléments de bloc sans recourir aux bidouilles du codage à l'ancienne, il y a display: inline-block, qui marche sous Opera, Safari, Firefox 3 et Internet Explorer 8. Sous Firefox 2, il y a la valeur propriétaire display: -moz-inline-block. Sous Internet Explorer 6 et 7, display: inline-block est essentiellement utilisée pour avoir du [url=http://www.test.blog-and-blues.org/haslayout/trad_temp.html]hasLayout[/url], mais n'a pas d'effet sur les éléments de bloc ; dans ce cas, on recourt au positionnement flottant (ce qui est un exercice assez périlleux, surtout pour les blocs qui suivent des blocs flottants).
Autrement dit :
[b]code HTML[/b]
[code]<div id="global">
<div id="sidebar">
<!-- Le contenu du div -->
</div>
<div id="main">
<!-- Le contenu du div -->
</div>
</div>[/code]
[b]CSS principale[/b]
[code]#sidebar, #main {
display: -moz-inline-block; /* Pour Firefox 2 */
display: inline-block;
}
#sidebar {
width: 15%;
}
#main {
width: 85%;
}[/code]
[b]CSS ciblant IE 6 et 7 (appelée via un commentaire conditionnel <!--[if lte IE 7]>)[/b]
[code]#sidebar, #main {
float: left; /* Positionnement flottant */
}
/* Pour éviter trop de risques avec le positionnement flottant,
on fournit un contexte de formatage
au bloc qui contient nos deux blocs flottants */
#global {
overflow: hidden;
}[/code]
[b]CSS ciblant IE 6 (appelée via un commentaire conditionnel <!--[if lte IE 6]>)[/b]
[code]/* Pour IE 6, il faut donner du layout au bloc conteneur
pour que le contexte de formatage soit bien compris */
#global {
height: 1%;
}[/code]