我正在处理一些HTML代码,但遇到了问题。这就是我们要做的事情:
我们将在一行(列表)中有多个图像,宽度将为全宽,因此它们将更改浏览器宽度的高度。这项工作正常,但我们在设置标题时遇到问题。我们要在此图像的中间设置标题,使其垂直位于中间,中间位于水平位置。它还需要拍摄完整的图像高度。
以下是我们拥有的以及我们想要的内容:
代码:
body {
background: #fafafa;
}
.wrapper {
position: relative;
display: block;
float: left;
}
ul {
list-style: none;
display: block;
width: 100%;
margin: 0;
padding: 0;
}
ul li {
width: 20%;
height: auto;
float: left;
position: relative;
}
img {
max-width: 100%;
height: auto;
float: left;
}
.title-wrapper {
position: absolute;
text-align: center;
width: 100%;
height: 100%;
top: 0;
vertical-align: middle;
text-align: center;
background: rgba(0,0,0,0.4);
}
.title-wrapper a {
color: #000;
background: #fff;
padding: 0 30px;
text-decoration: none;
}
.wanted-result {
width: 100%;
margin-top: 30px;
margin-bottom: 30px;
float: left;
}
.get-result {
width: 100%;
margin-bottom: 30px;
float: left;
}
<div class="get-result">
This is what get:
</div>
<div class="wrapper">
<div class="list-wrapper">
<ul>
<li><img src="http://s5.favim.com/orig/52/winter-nature-small-canon-eos-7d-Favim.com-474348.jpg" /></li>
<li><img src="http://s5.favim.com/orig/52/winter-nature-small-canon-eos-7d-Favim.com-474348.jpg" /></li>
<li><img src="http://s5.favim.com/orig/52/winter-nature-small-canon-eos-7d-Favim.com-474348.jpg" /></li>
<li><img src="http://s5.favim.com/orig/52/winter-nature-small-canon-eos-7d-Favim.com-474348.jpg" /></li>
<li><img src="http://s5.favim.com/orig/52/winter-nature-small-canon-eos-7d-Favim.com-474348.jpg" /></li>
</ul>
</div>
<div class="title-wrapper">
<a href="#">Title</a>
</div>
</div>
<div class="wanted-result">
This is what we want to get:
</div>
<img src="http://s12.postimg.org/ibhy38epp/birds.jpg" />
谢谢!
答案 0 :(得分:1)
您可以将a
标记放在图片后面的li
内,并将文字换行到span
:
<li><img src="http://s5.favim.com/orig/52/winter-nature-small-canon-eos-7d-Favim.com-474348.jpg" />
<a href=""><span>Title</span></a>
</li>
添加下一个css:
.list-wrapper li > a {
display: block;
position: absolute;
background-color: #cccccc;
height: 100%;
width: 100%;
text-align: center;
}
.list-wrapper li > a > span {
display: block;
position: absolute;
top: 42%;
width: 100%;
}
您可以在this fiddle
中查看实施情况答案 1 :(得分:1)
放置style
<a>
属性
<a style="text-align: center; left: 50%; background-color: white; padding: 65px 0px 0px; position: absolute; width: 10%; height: 49%;" href="#">Title</a>
试试这个,它会起作用,你会得到你想要的。
如果您想要使用高度和宽度进行操作,请操纵height
和width
属性。
答案 2 :(得分:0)
这很棘手,因为如果没有某种重叠,尝试覆盖动态大小的图像几乎是不可能的。根据文本的大小,使用文本的相对位置并从顶部调整45-50%,然后您可以使用vw尝试尽可能地覆盖图像。
.title-wrapper a {
position: relative;
top: 46%;
color: #000;
background: #fff;
padding: 6.8vw 9vw;
text-decoration: none;
}