我有这个css:
<style type="text/css">
#heading{
margin:auto;
background-color: brown;
}
</style>
和这个html:
<div id="heading">
<image src="image_files/header-background.jpg" alt="speakom" />
</div>
我不知道图像的确切大小..但是我希望div用精确的宽度包裹图像然后我想把那个div放在中心。我怎么做到这一点?
答案 0 :(得分:2)
使用inline-block
会使div成为其内容的宽度,并允许您将其与自动边距居中:
#heading {
margin: 0px auto;
display: inline-block;
}
答案 1 :(得分:1)
像这样写:
.parent{
text-align:center;
}
#heading{
display:inline-block;
*display:inline;/* For IE7*/
*zoom:1/* For IE7*/
text-align:left;
}
<强> HTML 强>
<div class="parent">
<div id="heading">
<img src="image_files/header-background.jpg" alt="speakom" />
</div>
</div>
答案 2 :(得分:0)
获取
margin: auto;
声明工作就像你想要的那样,你需要指定div的宽度。在不知道图像大小的情况下,您只需要猜测它是什么或使用javascript
答案 3 :(得分:0)
根据我的经验,戴夫的答案行不通(不再?不是总是?)。我首选的解决方案是使用flexbox:
<article>
<figure>
<img src="https://placekitten.com/300/200" />
<figcaption>Cute!</figcaption>
</figure>
</article>
article {
display: flex;
flex-direction: column;
}
figure {
margin: 0 auto;
background-color: lightgray;
}
figcaption {
padding: 1em;
}
在https://codepen.io/marcvangend/pen/vPBVOv上亲自观看。
优势:
<figure>
)紧紧围绕图像。<img>
,<figcaption>
)具有相同的宽度。text-align: center
,因此figcaption中的文本保持左对齐。