简体   繁体   中英

Make my div clickable

I'm working in a module box which redirects the user to an external website.

I've managed to create the layout and the content is displayed properly, however when I added the hover effect, the div is no longer clickable and so does not redirect to the external website.

Here is my jsfiddle

And here is my code:

<div class="module-box">
<div class="module-dummy"></div>
<div class="module-body module-pinterest">
    <a href="www.google.com">
        <div class="module-pinterest-title">Some text</div>
        <div class="module-pinterest-description">
Some other text</div>
    </a>
</div>

and my CSS:

.module-box {
display: inline-block;
position: relative;
width: 100%;}

.module-dummy {
margin-top: 100%;}

.module-body {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;}

.module-pinterest {
background-color: #7C56BE;}

.module-pinterest-title {
padding: 25px 25px 0px 25px;
color: #FFF;}

.module-pinterest-description {
padding: 25px 25px 0px 25px;
font-size: 22px;
line-height: 26px;
font-weight: bold;
color: #FFF;}

.module-pinterest:after {
content:'\A';
position:absolute;
width:100%; height:100%;
top:0; left:0;
background:rgba(0,0,0,0.2);
opacity:0;
transition: all 0.5s;
-webkit-transition: all 0.5s;}

.module-pinterest:hover:after {
opacity:1;}

Thanks!!

Add pointer-events:none; to your .module-pinterest:hover:after css code, like so:

.module-pinterest:hover:after {
  opacity: 1;
  pointer-events:none;
}

Here is the JSFiddle demo

if you move all your .module-pinterest styles to the anchor, then it should work:

.module-pinterest a {
  display:block;
  width:100%;
  height:100%;
  background-color: #7C56BE;
}
.module-pinterest a:after {
    content:'\A';
    position:absolute;
    width:100%; height:100%;
    top:0; left:0;
    background:rgba(0,0,0,0.2);
    opacity:0;
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.module-pinterest a:hover:after {
    opacity:1;
}

Updated fiddle

Since you are using positioning for overlaying of color upon hover , convert your anchor to block and add position:relative and a z-index value:

.module-body a {
  position: relative;
  z-index: 9;
  display:block;
}

Here is fiddle: https://jsfiddle.net/kw5ybq9e/3/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM