我创建了一个不同高度和长度的图像网格。我想用缩放动画在每个图像上放置一个链接到另一个网站的文本。
我试着把链接放在一个由div包围的锚标记中。然而,即使文本出现在图像容器中,链接也不起作用。下面是我的代码:
.container{
display:grid;
grid-template-columns: repeat(6,1fr);
grid-auto-rows:100px 300px;
grid-gap:10px;
grid-auto-flow: dense;
}
.gallery-item{
width:100%;
height:100%;
position:relative;
}
.gallery-item .image{
width:100%;
height:100%;
overflow:hidden;
}
.gallery-item .image img{
width:100%;
height:100%;
object-fit: cover;
object-position:50% 50%;
cursor:pointer;
transition:.5s ease-in-out;
}
.gallery-item:hover .image img{
transform:scale(1.1);
}
.gallery-item .text{
opacity:0;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
color:#fff;
font-size:25px;
pointer-events:none;
z-index:4;
transition: .4s ease-in-out;
-webkit-backdrop-filter: blur(1px) saturate(1.8);
backdrop-filter: blur(1px) saturate(1.8);
}
.gallery-item:hover .text{
opacity:1;
animation: move-down .3s linear;
padding:1em;
width:100%;
}
.w-1{
grid-column: span 1;
}
.w-2{
grid-column: span 2;
}
.w-3{
grid-column: span 3;
}
.w-4{
grid-column: span 4;
}
.w-5{
grid-column: span 5;
}
.w-6{
grid-column: span 6;
}
.h-1{
grid-row: span 1;
}
.h-2{
grid-row: span 2;
}
.h-3{
grid-row: span 3;
}
.h-4{
grid-row: span 4;
}
.h-5{
grid-row: span 5;
}
.h-6{
grid-row: span 6;
}
@media screen and (max-width:500px){
.container{
grid-template-columns: repeat(1,1fr);
}
.w-1,.w-2,.w-3,.w-4,.w-5,.w-6{
grid-column:span 1;
}
}
@keyframes move-down{
0%{
top:10%;
}
50%{
top:35%;
}
100%{
top:50%;
}
}
<section id="featured-blogs" class="section-p1">
<h3 style="text-align:center">FEATURED</h3>
<br>
<div class="container">
<div class="gallery-container w-3 h-2">
<div class="gallery-item">
<div class="image">
<img src="images/picture.jpg" alt="nature">
</div>
<div class="text"><a href="nature.jpg">Nature</a></div>
</div>
</div>
我是新的HTML和CSS,所以请回答问题的方式初学者可以理解。
2条答案
按热度按时间piah890a1#
如果我没理解错的话,你的链接不起作用是因为你的CSS有
.gallery-item .text {pointer-events:none}
。要么删除指针事件规则,要么添加a {pointer-events:auto}
hgqdbh6s2#
对于链接,需要使用元素
a
(doc:锚定元素):(It存在使用JS和"onClick"事件的其他解决方案,如果您对此感兴趣,可以检查此question)
对于缩放,我从我的答案复制过去我的代码,并添加到您的代码:
演示
一个二个一个一个