Home > Mobile >  HTML anchor element has an 'invisible' button
HTML anchor element has an 'invisible' button

Time:01-24

I created both clickable icons and button that will redirect to external links but I've just noticed these 'invisible' buttons exist. I also know that these clickable spaces are the original positions these icons/image are from and I have used "left: xx%" to reposition them but how can I make this 'invisible' buttons disappear or is there any better way to reposition these icons/button?

invisible button 1

invisible button 2

invisible button 3

The icons are not visible as I'm using an external stylesheet and I can't seem to include it but the button is and pressing the tab button on the result screen will show the problem.

@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);

button {
    color: #d4af37;
    padding: 5px 25px;
    border: 2px solid #d4af37;
    position: relative;
    margin: auto;
    z-index: 1;
    overflow: hidden;
    transition: 0.3s;
}

button:after {
    content: '';
    background-color: #252526;
    position: absolute;
    z-index: -2;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

button:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background-color: #d4af37;
    transition: 0.3s;
    z-index: -1;
}
button:hover {
    cursor: pointer;
    color: #252526;
}
button:hover:before {
    width: 100%;
}

button:focus {
    outline: none;
}

.contact {
    font-size: 20px;
    top: 0.8em;
    left: 41.5%;
    transform: translateY(20px);
    transition: transform 1s, opacity 1s;
    transition-delay: 0.7s;
}

.git {
    color: white;
    position: relative;
    left: 13%;
    transform: translateY(0);
    transition: transform 0.5s;
    padding-bottom: 5%;
}

.git:hover {
    cursor: pointer;
    transform: translateY(-2.5px);
    transition: transform 0.5s;
} 

.linked {
    color: white;
    position: relative;
    left: 91.5%;
    transform: translateY(0);
    transition: transform 0.5s;
    padding-bottom: 5%;
}

.linked:hover {
    cursor: pointer;
    transform: translateY(-2.5px);
    transition: transform 0.5s;
} 
 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

<body>
<br><br><br><br><br>
<a href=""><button type="button" id="contactbutton" >Let's Talk</button></a>

<div>
        <div  id="link-git">
        <div >
            <a href="" target="_blank"><i  style="font-size: 35px;"></i></a>
        </div>
        <div >
            <a href="" target="_blank"><i  style="font-size: 35px;"></i></a>
        </div>
        </div>
    </div>
    
    
</body>

CodePudding user response:

First of all It is illegal in HTML5 to nest Button tag inside a tag.

The reason this issue is happening is you are giving left and transform css to button but a tag is still at it's original place.

    @import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css);

    button, .abutton {
        color: #d4af37;
        padding: 5px 25px;
        border: 2px solid #d4af37;
        position: relative;
        margin: auto;
        z-index: 1;
        overflow: hidden;
        transition: 0.3s;
        text-decoration: none;
    }

    button:after, .abutton:after {
        content: '';
        background-color: #252526;
        position: absolute;
        z-index: -2;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    button:before, .abutton:before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0%;
        height: 100%;
        background-color: #d4af37;
        transition: 0.3s;
        z-index: -1;
    }
    button:hover, .abutton:hover {
        cursor: pointer;
        color: #252526;
    }
    button:hover:before, .abutton:hover:before {
        width: 100%;
    }

    button:focus, .abutton:focus {
        outline: none;
    }

    .contact {
        font-size: 20px;
        top: 0.8em;
        left: 41.5%;
        transform: translateY(20px);
        transition: transform 1s, opacity 1s;
        transition-delay: 0.7s;
    }

    .git {
        color: white;
        position: relative;
        left: 13%;
        transform: translateY(0);
        transition: transform 0.5s;
        padding-bottom: 5%;
    }

    .git:hover {
        cursor: pointer;
        transform: translateY(-2.5px);
        transition: transform 0.5s;
    } 

    .linked {
        color: white;
        position: relative;
        left: 91.5%;
        transform: translateY(0);
        transition: transform 0.5s;
        padding-bottom: 5%;
    }

    .linked:hover {
        cursor: pointer;
        transform: translateY(-2.5px);
        transition: transform 0.5s;
    } 
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

    <body>
    <br><br><br><br><br>
    <a href=""><button type="button" id="contactbutton" >Let's Talk</button></a>

 <a href="" type="button" id="contactbutton" >Let's Talk</a>

    <div>
            <div  id="link-git">
            <div >
                <a href="" target="_blank"><i  style="font-size: 35px;"></i></a>
            </div>
            <div >
                <a href="" target="_blank"><i  style="font-size: 35px;"></i></a>
            </div>
            </div>
        </div>
        
        
    </body>

  •  Tags:  
  • Related