我使用以下代码仅使用CSS显示简单的灯箱。 (我不想使用Javascript)。
.lightbox {
display: none;
position: fixed;
z-index: 999;
width: 100%;
height: 100%;
text-align: center;
top: 0;
left: 0;
background: rgba(0, 0, 0, 0.8);
}
.lightbox img {
position: fixed !important;
top: 50% !important;
transform: translateY(-50%) translateX(-50%);
width: 70%;
}
.lightbox figcaption {
display: inline;
position: fixed!important;
top: 70% !important;
right: 5%;
transform: translateX(0%);
color: white;
}
@media (max-width: 500px) {
.lightbox img {
width: 90%;
}
}
@media (min-width: 800px) {
.lightbox img {
width: 50%;
}
}

<a href="#img1"><img class="img-thumbnail" src="img/sensei/kieflesson.jpg"></a>
<a href="#_" class="lightbox" id="img1">
<figure><img src="img/sensei/kieflesson.jpg">
<figcaption>Test22</figcaption>
</figure>
</a>
&#13;
正如您所看到的那样,我一直试图使用figcaption在图像下面插入一个标题。我设法让它显示,但它没有响应。我希望它随着图像尺寸的变化而移动。
非常感谢任何帮助。
答案 0 :(得分:0)
使用position: absolute
表示图片和标题。包装器可以position: fixed
。现在你已将位置:固定到所有包装器和图像上。
答案 1 :(得分:0)
感谢您的帮助。看来我的代码有点过于复杂了。我使用以下方法实现了预期的效果:
.lightbox {
display: none;
position: fixed;
z-index: 999;
width: 100%;
height: 100%;
top: 0;
left: 0;
background: rgba(0, 0, 0, 0.8);}
.lightbox figure {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width:90%;
max-width: 500px;}
.lightbox img {
width:100%;}
.lightbox figcaption {
bottom:0;
position:absolute;
color:white;
width: 100%;
max-width: 500px;
text-align: right;
padding-right: 10px;
background: rgba(0, 0, 0, 0.5);}