title: Vertical align elements of different heights with top/bottom margin
body: <p>I have been trying to vertical align links in a list, where all but one of the links has background color/border (to look like a button).</p>
  
  <p>Even though the code on this fiddle works, it doesn't respect the reduced height of that link (the Sign In link).</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false">
  <div class="snippet-code">
  <pre class="snippet-code-css lang-css prettyprint-override"><code>html body,
  ul,
  div,
  li,
  a {
    padding: 0;
    margin: 0;
  }
  .left {
    float: left;
  }
  .right {
    float: right;
  }
  .inner {
    height: 75px;
    background-color: grey;
  }
  a {
    color: white;
    text-decoration: none;
    font-weight: normal;
  }
  .logo {
    display: block;
    background-image: url(http://static1.tme.eu/pics/icons/no-image-placeholder-big.png);
    background-size: 150px 20px;
    background-position: left center;
    background-repeat: no-repeat;
    height: 100%;
    width: 150px;
  }
  .right-nav {
    height: 100%;
    display: inline-block;
    float: right;
  }
  ul {
    height: 100%;
    margin: 0;
  }
  ul li {
    height: 100%;
    float: left;
    display: table;
    margin: 0;
    padding: 0;
    line-height: 46px;
    margin-left: 20px;
  }
  ul li a {
    display: table-cell;
    vertical-align: middle;
    line-height: 46px;
  }
  .icon-user:before {
    content: "\e745";
  }
  a.button {
    height: 60px;
    background-color: #f38060;
    border-radius: 3px;
    border: 1px solid #f38060;
    box-sizing: border-box;
    color: white;
    display: table-cell;
    font-size: 14px;
    font-weight: normal;
    line-height: 20px;
    padding-bottom: 12px;
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 12px;
    text-align: left;
    vertical-align: middle;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;div class="inner"&gt;
    &lt;ul class="left"&gt;
      &lt;li&gt;
        &lt;a class="logo" href="/"&gt;&lt;/a&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
    &lt;div class="right-nav"&gt;
      &lt;a class="mobile-menu right" href="#"&gt;&lt;span class="icon-menu"&gt;&lt;/span&gt;
      &lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href="/#"&gt;Link 1&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="/#"&gt;Link 2&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="/#"&gt;Link 3&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;
          &lt;a class="button" href="#" style="height: 60px;"&gt;Sign In
          &lt;span class="icon-user"&gt;&lt;/span&gt;
          &lt;/a&gt;
        &lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;
  &lt;/div&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>JSFiddle link: <a href="http://jsfiddle.net/6er3aguk/" rel="nofollow">http://jsfiddle.net/6er3aguk/</a></p>
  
  <p>What I would like to achieve is basically to have some sort of top/bottom margin on that Sign In link, so it doesn't stick to the top and bottom of the surrounding div.</p>
  
  <p>Any ideas on how I can achieve that?</p>