【发布时间】:2014-03-04 03:23:59
【问题描述】:
我有几张流畅的图像,我想漂浮并堆叠在一起。例如,我将 img-div 宽度设置为 50%,它在每行中堆叠两个图像。图像的大小也会根据浏览器的大小而增加。同时,我希望能够在每个图像的中间放置一个文本,该文本会漂浮并停留在图像的中心。我的问题是文本没有居中。当我将 img 设置为 absolute 时,它会居中,但堆叠会变得混乱。
知道如何仅通过 CSS 做到这一点吗?
这是我的 HTML 代码:
<div id="container">
<!-- image1 -->
<div class="img-div">
<a href="#">
<img src="images/image1.jpg" />
<div class="txt-div">
<p>Some text goes here!</p>
</div>
</a>
</div>
<!-- image2 -->
<div class="img-div">
<a href="#">
<img src="images/image2.jpg" />
<div class="txt-div">
<p>Another text.</p>
</div>
</a>
</div>
<!-- image3 -->
<div class="img-div">
<a href="#">
<img src="images/image3.jpg" />
<div class="txt-div">
<p>Some more text.</p>
</div>
</a>
</div>
<!-- image4 -->
<div class="img-div">
<a href="#">
<img src="images/image4.jpg" />
<div class="txt-div">
<p>Last text.</p>
</div>
</a>
</div>
</div>
这是我的 CSS:
.img-div {
width: 50%;
float:left;
a {
position: relative;
display: block;
height: 100%;
font-size: 0;
text-align: center;
}
a:before {
vertical-align: middle;
content: '';
display: inline-block;
height: 100%;
width: 0;
}
.txt-div {
vertical-align: middle;
position: relative;
z-index: 10;
display: inline-block;
font-size: medium;
p {
padding: 0;
margin:0;
}
}
img {
position: absolute;
width: 100%;
z-index: 9;
top: 0;
left: 0;
}
}
【问题讨论】:
-
一个 JSfiddle 会很有用,但定位
p绝对是一个开始。