2011-09-12 183 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,应该没问题。