我的标记很简单,我正在使用内联CSS。我的目标是使用margin: 0 auto;
HTML属性中的style
使图像居中。这是我尝试过的代码:
<div style="width: 100%;">
<img src="http://dummyimage.com/200x300/000000/fff" style="margin: 0 auto;"/>
</div>
为什么CSS不以我的<img>
为中心?
答案 0 :(得分:20)
您必须使用display: block
才能使margin: 0px auto
生效。
<div style="width: 100%;">
<img src="http://placekitten.com/g/200/300" style="display: block; margin: 0px auto;">
</div>
&#13;
答案 1 :(得分:2)
您的样式属性语法在div上是错误的。另外,更改img标签上的样式,如下所示:
<div style="width:100%">
<img src="https://4c206b86fe5a0219d31bb1ae55c8bbdc3f028879-www.googledrive.com/host/0BzEiAml5ygAeU3N6QTRUUW53Vjg/" width="50%" height="auto" style="margin:0 auto; display:block">
</div>
答案 2 :(得分:1)
Img
是内联元素,因此除非您设置width: 0 auto
,否则display: block
无法正常工作。或者你可以用text-align: center
来居中,这有点奇怪,但应该有类似的工作。
此外,您应该考虑停止使用内联样式。它使得html标记更难阅读,更难维护等。样式属于单独的css文件,你应该尽可能避免使用内联样式。 (和宽度,高度等html属性一样好!)
嗯,margin-left:0 auto; margin-right:0 auto;
也不是真的有效。正确的形式是
margin: 0 auto;
或
margin-left: auto;
margin-right: auto;
答案 3 :(得分:0)