2009-12-28 8 views
1

J'ai un parent div id = A qui a une largeur de 100%. Je veux que tous les éléments du div A soient placés à droite. Donc j'ai ajouté un autre div id = B dans A et j'ai fait un text-align = right sur le div A. La largeur de B est de 600px. Cependant, les contrôles apparaissent alignés à gauche dans A. Toutes les suggestions?Placement d'une division à l'intérieur d'une division

Répondre

6

Vous devriez faire un float: right sur la div B

+0

Merci beaucoup pour la réponse rapide – ScG

+1

Information supplémentaire: Vérifiez l'attribut d'affichage CSS. Un DIV est, par défaut, un élément de bloc, donc ne suivra pas les règles de text-align, seuls les éléments en ligne le suivront. –

+0

Si vous voulez "que tous les éléments de la div A soient placés à droite", jetez un oeil à ma réponse (#A * {float: right}) – marcgg

1

Il suffit d'aller:

#A * { 
    text-align: right; 
} 

Si vous voulez que le div réel à droite align et pas seulement le texte, utilisez float: right place.

#A *{ 
float:right; 
} 

Vous devrez peut-être spécifier une largeur pour #B. Si vous ne voulez pas le faire, voici une solution:

#B{display:inline-block;} 
+0

La largeur de B est définie (cf; question). Et inline-block ne fonctionnera pas sur IE s'il est appliqué à un élément div. –

+0

inline-block n'est pas une option réelle ... d'ailleurs, div sont déjà des éléments "block". Vous pouvez déjà spécifier une largeur. –

+0

si vous ne voulez pas définir la largeur, le bloc inline est sympa. l'OP a dit qu'il voulait que "tous les éléments" flottent à droite, d'où l'idée d'utiliser le bloc en-ligne – marcgg

0

Voulez-vous ceci:

<style type="text/css"> 
body { 
direction:rtl; 
} 
</style> 
<h3>Welcome to the real-time HTML editor!</h3> 
<p>Type HTML in the textarea above, and it will magically appear in the frame below.</p> 
+0

Je doute que c'est ce que l'OP recherche –

+0

ok, un commentaire était suffisant dans ce cas, downvote était inutile. – 3zzy

+0

ce n'est rien de personnel, je ne pensais pas que cette réponse était utile à la question. En tout cas, j'ai ajouté un espace à votre question afin que je puisse l'enlever au cas où quelqu'un atterrirait sur cette page et décide d'y aller avec votre réponse –

0

Works pour moi ...;)

<div id="a" style="width:100%; text-align:right; border: 1px solid blue"> 
    <div id="b" style="width:600px; border:1px solid red"> 
     hi 
    </div> 
</div> 
+0

Dans IE 5 peut-être: P ... un "DIV" est un élément "Bloc" (par défaut), donc "text-align" *** ne devrait pas le déplacer vers la droite. Donc, tout ce que vous avez fait est trouvé un moyen de le déplacer vers la droite dans certains vieux navigateurs merdiques :) –

+0

Fonctionne dans IE 8 ... –

0

Il suffit de spécifier la largeur que vous voulez et faites la marge-droite: 0 et marge-gauche: auto

<div id="a"> 
<div id="b" style="width:600px; margin-right: 0; margin-left: auto;"> 
    If ID:A has a width of say 1000 then ID:B will have a left margin of 400px 
</div> 
</div> 

ou si ID: A est déjà à l'intérieur d'un div de toute façon, vous avez juste besoin ceci:

<div id="a" style="width:600px; margin-right: 0; margin-left: auto;"> 
     If ID:A's wrapper has a width of say 1000 then ID:A 
     will have a left margin of 400px 
</div> 

La largeur totale d'un élément de bloc à l'intérieur d'un élément de bloc est toujours la largeur du réservoir de toute façon.