Why is vertical-align:text-top; not working in CSS
The vertical-align attribute is for inline elements only. It will have no effect on block level elements, like a div. Also text-top only moves the text to the top of the current font size. If you would like to vertically align an inline element to the top just use this.
vertical-align: top;
The paragraph tag is not outdated. Also, the vertical-align attribute applied to a span element may not display as intended in some mozilla browsers.
vertical-align
is only supposed to work on elements that are rendered as inline
. <span>
is rendered as inline by default, but not all elements are. The paragraph block element, <p>
, is rendered as a block by default. Table render types (e.g. table-cell
) will allow you to use vertical-align as well.
Some browsers may allow you to use the vertical-align
CSS property on items such as the paragraph block, but they are not supposed to. Text denoted as a paragraph should be filled with written-language content or the mark-up is incorrect and should be using one of a number of other options instead.
I hope this helps!
something like
position:relative;
top:-5px;
just on the inline element itself works for me. Have to play with the top to get it centered vertically...
You could apply position: relative;
to the div and then position: absolute; top: 0;
to a paragraph or span inside of it containing the text.