Answers:
添加display:block;
,它将起作用。图片默认为内联
为了明确起见,block
元素的默认宽度为auto
,这当然会填充包含元素的整个可用宽度。
通过将margin设置为auto
,浏览器会将剩余空间的一半分配给margin-left
,另一半分配给margin-right
。
margin:auto
使项目在流程中居中所需要的内容,将是一个很好的答案。(display:block
或display:table
,position:static
或position:relative
等)
0px auto
为auto
它也无法正常工作。
在某些情况下(如早期版本的IE浏览器,蛤蚧,Webkit的)和继承的元素position:relative;
将阻止margin:0 auto;
来自工作,即使top
,right
,bottom
,和left
未设置。
position:static;
在这种情况下,将元素设置为(默认值)可能会解决该问题。通常,具有指定宽度的块级元素将margin:0 auto;
使用relative
或static
定位。
margin: 0 auto
只要它们是没有浮点且具有指定宽度的块元素,就可以在相对定位的元素上正常工作……
float
和display
可以改变这种行为。
您可以使用以下方式将自动宽度div居中 display:table;
div{
margin: 0px auto;
float: none;
display: table;
}
就我而言,问题是我设置了最小和最大宽度而没有宽度本身。
position:static
,具有固定width:
集合并为一个display:block
元素
每当我们不添加width和add时margin:auto
,我想它就行不通了。根据我的经验。宽度给出了需要在何处提供相等边距的想法。
有一种替代方法margin-left:auto; margin-right: auto;
或margin:0 auto;
针对使用position:absolute;
这种方法的替代方法:
将元素的左侧位置设置为50%(left:50%;
),但不能正确居中以使元素正确居中,您需要给它一个减去宽度的一半的边距,将使元素完美居中
这是一个示例:http : //jsfiddle.net/35ERq/3/