我必须将图像置于具有固定大小的div容器中。
我的第一个想法是:img是一个内联元素。所以你可以使用text-align: center
。和文字一样。
但这不起作用。
我做了这个演示:
.wrap {
height: 1000px;
width: 1000px;
background-color: lightGrey;
margin: 20px auto;
border: 1px solid black;
}
.wrap img {
border-radius: 12px;
text-align: center;
}
.wrap p {
text-align: center;
font-size: 2rem;
font-weight: 900;
}
<div class="wrap">
<img src="https://placebear.com/200/300" alt="bild" />
<p>Just a little bit of placeholder-text.</p>
</div>
人们可以看到:文本居中工作完美。但是图像居中失败了。
我在这里做错了什么?分别:我的哪些假设是错误的?
答案 0 :(得分:3)
.wrap {
text-align: center;
}
使用此
答案 1 :(得分:2)
text-align
会影响元素的内联内容。
图片不是<img>
的内容,而是<img>
。
要让text-align
影响它,您必须将该属性应用于<img>
的父。
答案 2 :(得分:1)
嗨img是内联网,所以你不能添加text-align:center;印象 添加父div来检查此
.wrap {
height: 1000px;
width: 1000px;
background-color: lightGrey;
margin: 20px auto;
border: 1px solid black;
text-align: center;
}
.wrap img {
border-radius: 12px;
text-align: center;
}
.wrap p {
font-size: 2rem;
font-weight: 900;
}
<div class="wrap">
<img src="https://placebear.com/200/300" alt="bild" />
<p>Just a little bit of placeholder-text.</p>
</div>
答案 3 :(得分:1)
你的.wrap类应该有text-align:center
.wrap {
height: 1000px;
width: 1000px;
background-color: lightGrey;
margin: 20px auto;
border: 1px solid black;
text-align: center;
}
.wrap img {
border-radius: 12px;
}
.wrap p {
text-align: center;
font-size: 2rem;
font-weight: 900;
}
<div class="wrap">
<img src="https://placebear.com/200/300" alt="bild" />
<p>Just a little bit of placeholder-text.</p>
</div>
答案 4 :(得分:1)
只需将其添加到您的CSS
即可img {
display: block;
margin: 0 auto;
}
答案 5 :(得分:1)
添加
margin: 0 auto;
display: block;
因此它应该是:
.wrap img {
border-radius: 12px;
margin: 0 auto;
display: block;
}
或者您也可以将text-align:center
添加到.wrap
以下是fiddle:
答案 6 :(得分:1)
在课程text-align: center;
.wrap {
height: 1000px;
width: 1000px;
background-color: lightGrey;
margin: 20px auto;
border: 1px solid black;
text-align: center;
}
.wrap img {
border-radius: 12px;
}
.wrap p {
text-align: center;
font-size: 2rem;
font-weight: 900;
}
&#13;
<div class="wrap">
<img src="https://placebear.com/200/300" alt="bild" />
<p>Just a little bit of placeholder-text.</p>
</div>
&#13;