CSSvertical-align

vertical-align

The vertical-align property aligns inline or inline-block elements vertically. It only works on inline/inline-block elements, not block elements. Common for images and text alignment.

Vertical Align Values

Value

Alignment

Use Case

baseline

Align to baseline

Default, text baseline

top

Top of line

Align to line top

middle

Middle of line

Center alignment

bottom

Bottom of line

Align to line bottom

CSS
/* Vertical alignment for inline/inline-block */
img {
  vertical-align: middle;
  /* Aligns image middle with text baseline */
}

.icon {
  display: inline-block;
  vertical-align: middle;
  /* Centers inline-block vertically */
}

/* Text baseline alignment */
sup {
  vertical-align: super;
}

sub {
  vertical-align: sub;
}
Practical Examples

CSS
/* Align image with text */
img {
  display: inline-block;
  vertical-align: middle;
}

/* Icon button alignment */
button {
  display: inline-block;
}

button svg {
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
}

/* Center in fixed-height container */
.container {
  line-height: 40px;
  height: 40px;
}

.container img {
  vertical-align: middle;
}
Warning
vertical-align is confusing and limited. For centering, prefer flexbox or grid. vertical-align only works on inline/inline-block elements.
Note
vertical-align aligns inline/inline-block elements. Often confusing. Better to use flexbox or grid for centering.
Next
Text overflow handling: [text-overflow, white-space, word-break](/css/text-overflow).