2011-09-12 67 views
2

我有一個div設置爲寬度100%。我想設置20px的左右邊距。出於某種原因,只有左側被推到20px以上。它忽略了這個權利。這是因爲100%嗎?寬度左右寬度100%

回答

7

刪除寬度。與所有塊元素一樣,div會自動擴展以填充可用寬度。當你指定100%的寬度時,你告訴它與容器的大小相同,而不是填充可用寬度。由於寬度不包含邊距,因此除了寬度外,還指定邊距會導致div向右移動左邊距量,並且右邊距會在屏幕外存在。

+0

偉大的解釋!謝謝 –

1

刪除100%width,只給它20px margin左右,你會沒事的。

5

不愚蠢的。發生了什麼事是你想有些設置橫幅是這樣的: (#是保證金)

========== 
#--------# 
========== 

,但它最終是這樣的:

========== 
#----------# 
========== 

使它看起來像這樣:

========== 
#--------- 
========== 

添加邊距不會減小100%的設置寬度。

您可以嘗試使用 left:20px; right:20px;離開寬度和保證金 auto

編輯
或正要離開寬度關閉其他類似建議。 :P

+0

寶貴的解釋在OP的情況下實際發生了什麼。 – Matijs

0

A div將使用所有可用空間,除非您開始浮動。刪除width,應該沒問題。