2009-12-28 80 views
1

我有一個父div id = A,寬度爲100%。我希望div A的所有元素都應該放在正確的位置。在div中放置div

所以我在A里加了另一個div id = B,並在div A上做了一個text-align = right。B的寬度是600px。

但是控件在A中左對齊。有什麼建議?

回答

6

你應該在div乙

+0

非常感謝您的快速回答 – ScG 2009-12-28 11:13:15

+1

附加信息:查看CSS顯示屬性。默認情況下,DIV是一個塊元素,所以不會遵循文本對齊的規則,只有內聯元素會遵循這個規則。 – 2009-12-28 11:13:20

+0

如果你想「把A的所有元素都放在右邊」,看看我的答案(#A * {float:right}) – marcgg 2009-12-28 11:14:16

1

上做了float: right只要進入:

#A * { 
    text-align: right; 
} 

如果你想實際DIV是正確對齊,而不僅僅是文字,使用浮動:權來代替。

#A *{ 
float:right; 
} 

您可能需要指定#B的寬度。如果你不想這樣做,這裏有一個解決方案:

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

B的寬度被設置(cf; question)。如果將內聯塊應用於div元素,則內聯塊在IE上不起作用。 – 2009-12-28 11:16:18

+0

inline-block不是一個真正的選項......此外,div's已經是「塊」元素。您可以指定一個寬度。 – 2009-12-28 11:16:27

+0

如果你不想設置寬度,內聯塊很好。 OP表示他希望「所有元素」都是正確的,因此使用內聯塊 – marcgg 2009-12-28 11:20:09

0

你想這樣的:

<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

我懷疑這是什麼OP是尋找 – 2009-12-28 11:32:59

+0

好的,在這種情況下,評論是足夠的,downvote是不必要的。 – 3zzy 2009-12-28 11:54:24

+0

這沒什麼個人的,我只是不認爲這個答案對這個問題有幫助。無論如何,我在你的問題中增加了一個空格,這樣我可以刪除它,以防某人登陸此頁面並決定回答 – 2009-12-28 22:00:32

0

對我的作品...;)

<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

在IE 5中可能:P ...「DIV」是「Block」元素(默認情況下),所以「文本對齊」***不應該將它移動到右側。所以,你所做的一切都是找到一種方法在一些糟糕的舊瀏覽器中將其移到正確的位置:) – 2009-12-28 11:15:39

+0

在IE 8中工作... – 2009-12-28 11:41:21

0

只要指定的你想要的寬度,並使餘量 - 右:0和餘裕 - 左:自動

<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> 

,或者如果ID:A是已經一個div內,無論如何,你只需要這樣的:

<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> 

寬度塊元素內的塊元素的始終是容器的寬度無論如何。