The vertical-align CSS property sets vertical alignment of an inline, inline-block or table-cell box. vertical-align: baseline; vertical-align: sub; vertical-align: super; vertical-align: text-top; vertical-align: text-bottom; vertical-align: middle; vertical-align: top; vertical-align: bottom; vertical-align: 10em; vertical-align: 4px; vertical-align: 20%; vertical-align: inherit; vertical-align: initial; vertical-align: revert; vertical-align: unset; The vertical-align property is specified as one of the values listed below.
These values vertically align the element relative to its parent element: baselineAligns the baseline of the element with the baseline of its parent. The baseline of some replaced elements, like <textarea>, is not specified by the HTML specification, meaning that their behavior with this keyword may vary between browsers. subAligns the baseline of the element with the subscript-baseline of its parent. Aligns the baseline of the element with the superscript-baseline of its parent. text-topAligns the top of the element with the top of the parent element's font. text-bottomAligns the bottom of the element with the bottom of the parent element's font. middleAligns the middle of the element with the baseline plus half the x-height of the parent. <length>Aligns the baseline of the element to the given length above the baseline of its parent. A negative value is allowed. <percentage>Aligns the baseline of the element to the given percentage above the baseline of its parent, with the value being a percentage of the line-height property. A negative value is allowed. Line-relative valuesThe following values vertically align the element relative to the entire line: topAligns the top of the element and its descendants with the top of the entire line. bottomAligns the bottom of the element and its descendants with the bottom of the entire line. For elements that do not have a baseline, the bottom margin edge is used instead. baseline (and sub, super, text-top, text-bottom, <length>, and <percentage>) Aligns the baseline of the cell with the baseline of all other cells in the row that are baseline-aligned. topAligns the top padding edge of the cell with the top of the row. middleCenters the padding box of the cell within the row. bottomAligns the bottom padding edge of the cell with the bottom of the row. Negative values are allowed.
<div>An <img src="frame_image.svg" alt="link" width="32" height="32" /> image with a default alignment.</div> <div>An <img class="top" src="frame_image.svg" alt="link" width="32" height="32" /> image with a text-top alignment.</div> <div>An <img class="bottom" src="frame_image.svg" alt="link" width="32" height="32" /> image with a text-bottom alignment.</div> <div>An <img class="middle" src="frame_image.svg" alt="link" width="32" height="32" /> image with a middle alignment.</div> img.top { vertical-align: text-top; } img.bottom { vertical-align: text-bottom; } img.middle { vertical-align: middle; }
<p> top: <img style="vertical-align: top" src="star.png"/> middle: <img style="vertical-align: middle" src="star.png"/> bottom: <img style="vertical-align: bottom" src="star.png"/> super: <img style="vertical-align: super" src="star.png"/> sub: <img style="vertical-align: sub" src="star.png"/> </p> <p> text-top: <img style="vertical-align: text-top" src="star.png"/> text-bottom: <img style="vertical-align: text-bottom" src="star.png"/> 0.2em: <img style="vertical-align: 0.2em" src="star.png"/> -1em: <img style="vertical-align: -1em" src="star.png"/> 20%: <img style="vertical-align: 20%" src="star.png"/> -100%: <img style="vertical-align: -100%" src="star.png"/> </p>
<table> <tr> <td style="vertical-align: baseline">baseline</td> <td style="vertical-align: top">top</td> <td style="vertical-align: middle">middle</td> <td style="vertical-align: bottom">bottom</td> <td> <p>There is a theory which states that if ever anyone discovers exactly what the Universe is for and why it is here, it will instantly disappear and be replaced by something even more bizarre and inexplicable.</p> <p>There is another theory which states that this has already happened.</p> </td> </tr> </table> table { margin-left: auto; margin-right: auto; width: 80%; } table, th, td { border: 1px solid black; } td { padding: 0.5em; font-family: monospace; } BCD tables only load in the browser See also |