2010-11-26 5 views
4

Comment placer deux divs côte à côte avec séparateur entre eux?Côte à côte divs

C'est ce que je veux dire:

alt text

Je suppose que la mise en page HTML peut ressemble à quelque chose comme ceci:

<div id="container"> 
    <div id="left"></div> 
    <div id="splitter"></div> 
    <div id="right"></div> 
</div> 

ou

<div id="container"> 
    <div id="left"> 
     <div id="splitter"></div> 
    </div> 
    <div id="right"></div> 
</div> 
+0

il y a possibilitys presque infinies pour ce ACHIVE. qu'avez-vous essayé jusqu'à présent? avez-vous demandé à google pour une telle solution et utilisé la recherche sur SO? – oezi

+0

en outre, vous devriez fournir plus d'informations. Les divs devraient-ils avoir la même taille? devraient-ils grandir avec le contenu ou utiliser toute la hauteur possible? Les pièces doivent-elles avoir une largeur spécifique ou grandir quand je redimensionne mon navigateur? – oezi

+0

Toute approche de travail correspond à mes besoins. 1) les divs devraient avoir la même hauteur fixe; 2) les panneaux gauche et droit doivent être étirés dans l'espace disponible; – sam

Répondre

3

html:

<div id="container"> 
    <div id="left"></div> 
    <div id="splitter"></div> 
    <div id="right"></div> 
</div> 

css:

#container{ 
width:990px; //or 100% 
} 
#left{ 
width:300px; //or 30% 
float:left; 
} 
#splitter{ 
width:90px; //or 5% 
float:left; 
} 
#right{ 
600px; //or 65% 
float:left; 
} 
+0

Ne fonctionne pas: volet de droite est toujours situé sur la chaîne suivante (au moins dans IE8 et Chrome 7) – sam

+0

ont-ils un rembourrage ou une marge? si c'est le cas, retirez-les ou soustrayez-les des largeurs. –

+0

Il n'y a aucun rembourrage ou marge et la largeur totale de gauche, de droite et de séparateur est égale à la largeur du conteneur. Je débarrasse de ce problème en ajoutant la position absolue pour les volets et relative pour le séparateur. Cela fonctionne pour moi bien. Merci! – sam

1

mis "float: left" sur #left et #splitter, mais comme Oezi a dit qu'il y a beaucoup de façons de le faire

+0

Le même problème qu'ici: http://stackoverflow.com/questions/4285483/side-by-side-divs/4285526#4285526. Mais le volet droit est aligné à droite sur la chaîne suivante. – sam

0

Les deux sont possibles mais j'irais pour le 2ème puisque vous pouvez utiliser le flotteur: gauche pour le div gauche et le flotteur: droit pour le droit et puisque le diviseur est dans le div gauche il va au bon endroit.

+0

Si c'est le cas, le contenu du volet droit est aligné sur le côté droit du volet gauche (à gauche du séparateur). – sam

Questions connexes