【发布时间】:2013-03-12 10:13:32
【问题描述】:
最近几天,我尝试将按钮置于流畅图像的中心。到目前为止,位置是固定的和静态的。相关的 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 相比,演示将子对象与父对象对齐。
有没有办法将上述技术应用于我的问题,或者是否有更好的适合方法?最好的问候拉尔夫
【问题讨论】:
标签: html css compass-sass