我正在尝试使用垂直对齐的中间和文本对齐中心将文本放在图像上。但是他们似乎都没有工作。
我的HTML是
<div class="hero-image">
<img src="https://s23.postimg.org/ahcg75tsb/hero.png" alt="">
<a href=""><h2>Some Sample text</h2></a>
</div>
演示 - https://jsfiddle.net/squidraj/zkno1sc2/
是不是因为我没有在父div中指定图像的宽度?
非常感谢任何帮助。
答案 0 :(得分:2)
您可以display: flex
与.hero-image
结合使用align-items: center;
:
.hero-image {
display: flex;
position: relative;
align-items: center;
}
.hero-image img{
width: 100%;
}
.hero-image h2 {
background: #ff2bff none repeat scroll 0 0;
color: #fff;
text-align: center;
width: 200px;
margin: 0px auto;
position: absolute;
left: 0;
right: 0;
}
<div class="hero-image">
<img src="https://s23.postimg.org/ahcg75tsb/hero.png" alt="">
<a href=""><h2>Some Sample text</h2></a>
</div>
答案 1 :(得分:0)
制作&#34; top&#34;填充,请参阅代码:
.hero-image {
display: block;
position: relative;
}
.hero-image a {
background: #ff2bff none repeat scroll 0 0;
color: #fff;
left: 0;
position: absolute;
right: 0;
text-align: center;
top: 45%;
width: 200px;
bottom: 0;
vertical-align: middle;
text-align: center;
margin: 0px auto;
height: 50px
}
&#13;
<div class="hero-image">
<img src="https://s23.postimg.org/ahcg75tsb/hero.png" alt="">
<a href=""><h2>Some Sample text</h2></a>
</div>
&#13;