Reduce height on h1 with display: table-cell

833 Views Asked by At

I centered text in a table cell using display: table-cell, vertical-align: middle, and text-align: center. However, there is annoying spacing above and below the text now. How can I remove it completely? I want zero margin/padding all around the text.

PS- I've tried border collapse: collapse and can't seem to get it to work.

(also see fiddle below...)

HTML:

  <body>
    <div>
    <h1><a href=#>H</a></h1>
    <h1><a href=#>E</a></h1>
    <h1><a href=#>L</a></h1>
    <h1><a href=#>L</a></h1>
    <h1><a href=#>O</a></h1>
    </div>
  </body>

CSS:

    body {
        font-family: 'Sigmar One', cursive;
        font-size: 100px;
        color: white;
        text-shadow: 4px 4px 4px #000;

        background-color:blue;

        width: 100%;
        height: 100%;
        margin: 0;
    }


    div {
        position:absolute; 
        height:100%; 
        width:100%;
        display: table;
    }

    h1 {
        display: table-cell;
        vertical-align: middle;
        text-align:center;
    }

    a:visited, a:active {
        text-decoration: none;
        color: white;
    }

    a:link {
        text-decoration: none;
            color: white;
        text-shadow: 0px 2px 3px rgba(255,255,255,.25);
        -webkit-background-clip: text;
           -moz-background-clip: text;
                background-clip: text;
    }

    a:hover {
        text-shadow: 4px 4px 4px #000;
        color: white;
    }

http://jsfiddle.net/8Huu7/8/

1

There are 1 best solutions below

6
On

use the inline display property like so:

h1 {
        display: table-cell;
        vertical-align: middle;
        text-align:center;
        display: inline;
    }