我有一个设置宽度为100%的div。我想设置左右20px的边距。出于某种原因,只有左侧被推过20px。它忽略了权利。这是因为100%?
答案 0 :(得分:7)
删除宽度。与所有块元素一样,div将自动扩展以填充可用宽度。当您指定宽度为100%时,您告诉它与其容器的大小相同,而不是填充可用宽度。由于宽度不包括边距,因此除了宽度之外指定边距会导致div向右移动左边距量,并且右边距存在于屏幕外。
答案 1 :(得分:5)
根本不傻。发生的事情是你试图设置一个像这样的横幅: (#是保证金)
==========
#--------#
==========
但它最终会像这样:
==========
#----------#
==========
使它看起来像这样:
==========
#---------
==========
添加边距不会减少100%的设置宽度。
您可以尝试使用 left:20px; right:20px;
并保留宽度和边距auto
EDIT
或者像其他人建议的那样离开宽度。 :P
答案 2 :(得分:1)
删除100%width
,只留下20px margin
左右,你会没事的。
答案 3 :(得分:0)
div
将使用所有可用空间,除非您开始浮动。删除width
,应该没问题。