Center Span/text Vertically Inside H1
Solution 1:
Your CSS basically works. It is more obvious if you increase the line-height:
see demo at http://jsfiddle.net/audetwebdesign/PUeaY/
h1 {
background: red;
font-size: 40px;
line-height: 80px;
}
.icon {
background: aqua;
border: 1px solid blue;
border-radius: 3px;
padding: 0px4px;
width: auto;
display: inline-block;
font-size: 20px;
line-height: 40px;
vertical-align: 7px;
}
In this example, both the span and the text are vertically aligned in the center, which I think is what you want.
How This Works...
The CSS engine uses the vertical-align property to align the baseline of the text segments.
In this case, I set the default font-size and line-height for h1 to 40px and 80px respectively.
For the .icon, I reduce the font-size and line-height by 50%. If vertical-align were set to baseline or 0, both the smaller and the larger text would align along the bottom of the letters, but it would not look centered because the icon text has a smaller font size.
By adjusting vertical-align to 7px, I got a centering that looks pretty good. This is not exactly a precise process, but it may work well enough.
Solution 2:
Another easy way to achieve this would be to use negative margins.
span{margin:-4px10px00} // Uses order of top, right, bottom, left
Post a Comment for "Center Span/text Vertically Inside H1"