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/