我有一个包含链接的 <div>
元素。
在这个 <div>
的右下角,我添加了一个覆盖层,在鼠标悬停时会覆盖整个 <div>
。
这个覆盖层同样包含一个链接。
问题是:在覆盖层中的链接不能被点击。
这个问题是因为我在 .overlay-content
类上使用了 pointer-events: none;
,如果不使用此属性,则两个链接都无法点击。
请查看代码:
.panel-default1 {
padding-top: 10px;
border-radius: 20px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.10);
height: 400px;
width: 400px;
overflow: hidden;
margin: 0 auto;
position: relative;
}
.amg-corner-button_wrap {
display: block;
background-color: #e8c63d;
position: absolute;
transform: rotate(45deg);
right: -320px;
bottom: -320px;
width: 400px;
height: 400px;
-moz-transition: all 0.5s ease-out;
-o-transition: all 0.5s ease-out;
-webkit-transition: all 0.5s ease-out;
transition: all 0.5s ease-out;
}
.amg-corner-button_wrap:hover {
transform: rotate(45deg) scale(4);
}
.overlay-content {
pointer-events: none;
bottom: 0;
color: #333;
left: 0;
opacity: 0;
padding: 30px;
position: absolute;
height: 100%;
width: 100%;
box-sizing: border-box;
padding: 8px;
right: 0;
top: 0;
-moz-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.overlay-content h2 {
border-bottom: 1px solid #333;
padding: 0 0 12px;
}
.amg-corner-button_wrap:hover~.overlay-content {
opacity: 1;
-moz-transition: all 0.3s ease-out;
-o-transition: all 0.3s ease-out;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
-moz-transition-delay: 0.3s;
-o-transition-delay: 0.3s;
-webkit-transition-delay: 0.3s;
transition-delay: 0.3s;
}
<div class="panel panel-default1">
<div class="panel-body">
<a href="#">Link</a>
<div class='amg-corner-button_wrap'></div>
<div class="overlay-content">
<h2>Image Ink Logo</h2>
<a href="#">Link</a>
</div>
</div>
<!-- panel body -->
</div>
<!-- panel default -->
此外,这里是示例代码。
我有没有办法实现这个?
pointer-events
属性并使用z-index,以及使用动画而不是过渡,那么您可能可以在没有JavaScript的情况下完成此操作(您需要animation-fill-mode:forwards
,它没有过渡对应项)。 - TylerH