Burger Icon Not Completely Clickable

259 views Asked by At

everyone,

I've created a burger icon using box-shadow for the first time, but for some reason, only the top bar is a hyperlink: http://jsfiddle.net/vq5r0r8j.

Markup: <a href="#menu" class="box-shadow-menu"></a>

CSS:

.box-shadow-menu {
    position: relative;
}

.box-shadow-menu:before {
    content: "";
    position: absolute;
    top: 10px;
    width: 35px;
    height: 4px;
        background: white;
    box-shadow: 0 10px 0 0 white, 0 20px 0 0 white;
}

Any help resolving this issue would be really appreciated.

Thanks!

1

There are 1 answers

0
dippas On BEST ANSWER

you need to set your a to display:block because a by default is set inline and you have to give it height as well (same as the parent)

snippet:

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
.body {
    background-color: #fff;
}
.container {
    width: 100%;
}
.header {
    width: 100%;
    height: 45px;
    background-color: #4dc1df;
}
.navicon {
    text-align: center;
}
.box-shadow-menu {
    position: relative;
    display:block; /* NEW */
    height:45px; /* NEW */
}
.box-shadow-menu:before {
    content:"";
    position: absolute;
    top: 10px;
    width: 35px;
    height: 4px;
    background: white;
    box-shadow: 0 10px 0 0 white, 0 20px 0 0 white;
}
.header-text {
    width: 950px;
    font-family:;
    font-size: 38px;
    line-height: 46px;
    color: #c44628;
    margin: 0 auto;
    padding: 20px 0;
}
<div class="container">
  <div class="header">
    <div class="navicon">
      <a href="#menu" class="box-shadow-menu"></a>
    </div>
  </div>
  <div class="content">
    <div class="header-text"></div>
  </div>