CSS Overflow: Hidden Bottom Field Creation

When I add

overflow:hidden

      

for any of the buttons on my page, it creates a 13px margin at the bottom of the button. When I remove the above CSS the margin disappears, however some content inside the button overflows.

How to remove the edge at the bottom while keeping

overflow:hidden

      

CSS style?

WITH overflow:hidden

hidden

WITHOUT overflow:hidden

without

however, the Facebook logo overflows into the next button (this is a custom font)

CURRENT BUTTON CSS:

.btn {
    background-color: #FF6347;
    border: 1px solid #CC4F39;
    color: #FFFFFF;
    text-decoration: none;
    padding: 7px 15px;
    cursor: pointer;
    font-size: 1em;
    text-shadow: 0 1px 2px #000000;
    display: inline-block;
    overflow: hidden;
}

      

CURRENT BUTTON HTML:

<a class="btn btn-fb btn-xl" id="login_fb"><span class="icon-socialfacebookvariant"></span>Log In</a>

      

CURRENT FACEBOOK LOGO CSS:

[class^="icon-"], [class*=" icon-"] {
    overflow:hidden;
}

[class^="icon-"]:before, [class*=" icon-"]:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size:2em;
    line-height:0;
    font-family: 'icomoon';
    position:relative;
    top:-1px;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    vertical-align:middle;
}

// Facebook logo from a font
.icon-socialfacebookvariant:before {
    content: "\e9e3";
}

      

+3


source to share


2 answers


This is because there is white spacing between HTML elements. This snippet with white spacing:

.btn {
    background-color: #FF6347;
    border: 1px solid #CC4F39;
    color: #FFFFFF;
    text-decoration: none;
    padding: 7px 15px;
    cursor: pointer;
    font-size: 1em;
    text-shadow: 0 1px 2px #000000;
    display: inline-block;
    overflow: hidden;
}
      

<div class="btn"></div>
<div class="btn"></div>
<div class="btn"></div>
<div class="btn"></div>
<div class="btn"></div>
      

Run codeHide result


And this is without:



.btn {
    background-color: #FF6347;
    border: 1px solid #CC4F39;
    color: #FFFFFF;
    text-decoration: none;
    padding: 7px 15px;
    cursor: pointer;
    font-size: 1em;
    text-shadow: 0 1px 2px #000000;
    display: inline-block;
    overflow: hidden;
}
      

<div class="btn"></div><div class="btn"></div><div class="btn"></div><div class="btn"></div><div class="btn"></div>
      

Run codeHide result


There is a noticeable difference, and I believe this is where your mysterious stock comes from.

+1


source


Thanks to Jaunt for the help.

Although your idea is the most logical, it is not very pleasant to edit!

Luckily, I came across a simple solution to my problem!



All I had to do was add vertical-align:top

CSS to my button and swear! it works!

Thank you for your help:)

+1


source







All Articles