我正在尝试在图像上浮动文本,但似乎无法使文本位于图像顶部。
如果我在div中有一个图像和一个文本块。使文本按我的计划工作需要什么CSS。
这是我没有CSS的代码:
<div class="row">
<div class="text-area">
<i class="icon ion-md-exit"></i>
<h2>TEXT</h2>
<p>TEXT</p>
</div>
<img class="bg-image" src="https://ichef.bbci.co.uk/images/ic/720x405/p0517py6.jpg">
</div>
如果您也可以垂直对齐文本区域,那将是巨大的帮助。
谢谢!
答案 0 :(得分:1)
如果我这样做,我会用以下两种方法之一来做。
您可以使用图像声明元素的高度,然后将文本区域放在顶部,如下所示:
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.row {
width: 100%;
margin: 0 auto;
position: relative;
}
.text-area {
width: auto;
height: auto;
position: absolute;
top: 50%;
left: 50%;
-ms-transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
z-index: 1;
text-align: center;
}
.bg-image {
width: 100%;
height: auto;
margin: 0 auto;
position: relative;
display: block;
}
</style>
<div class="row">
<div class="text-area">
<i class="icon ion-md-exit"></i>
<h2>TEXT</h2>
<p>TEXT</p>
</div>
<img class="bg-image" src="https://ichef.bbci.co.uk/images/ic/720x405/p0517py6.jpg">
</div>
或设置框的高度并使用这样的背景图像:
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.row {
width: 100%;
height: 100vh;
margin: 0 auto;
position: relative;
background-image: url(https://ichef.bbci.co.uk/images/ic/720x405/p0517py6.jpg);
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
.text-area {
width: auto;
height: auto;
position: absolute;
top: 50%;
left: 50%;
-ms-transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
z-index: 1;
text-align: center;
}
.bg-image {
width: 100%;
height: auto;
margin: 0 auto;
position: relative;
display: block;
}
</style>
<div class="row">
<div class="text-area">
<i class="icon ion-md-exit"></i>
<h2>TEXT</h2>
<p>TEXT</p>
</div>
</div>