最近几天,我尝试将按钮置于流畅图像的中心。到目前为止,位置是固定的和静态的。相关的 HTML 部分如下所示:
<ul class="moodlegrid sectionwrap">
<li>
<a class="ajax1" href="project1.html">
<img title="Project 1" src="img/projectblur.jpg" alt="Project 1" />
<img title="Project 1" src="img/project.jpg" alt="Project 1" />
<span class="openoverlay">Click</span>
</a>
</li>
</ul>
CSS看起来像这样:
.moodlegrid{
li{
a{
position: relative;
display:block;
width: 100%;
img:nth-child(1){
display:block;
}
img:nth-child(2){
display: none;
}
span{
display:none;
}
}
a:hover{
img:nth-child(2){
display: block;
position: absolute;
z-index: 100;
top:0;
left:0;
}
span{
display: block;
position: absolute;
text-align:center;
top: 37%;
left: 28%;
z-index:101;
@include border-radius(5px, 5px);
@include box-shadow(black 2px 2px 10px);
}
}
}
}
img{
width:100%;
max-width: 100%;
height:auto !important;
}
在鼠标悬停时,第二个图像和一个按钮应该在第一个图像的顶部居中浮动。问题是如果视口更改最近版本不再起作用并且按钮未居中。以下关于 CSS 技巧的文章有一个很有前途的解决方案:
该演示工作正常:
但是它使用了 inline-block 元素,这使得很难对图像进行分层并最终在其顶部显示一个居中的按钮 - 当设置 display:inline-block 属性时,这些元素会一个接一个地显示。还有一个问题,与我的 HTML 相比,演示将子对象与父对象对齐。
有没有办法将上述技术应用于我的问题,或者是否有更好的适合方法?最好的问候拉尔夫