How to make a single check box (or image, etc) align vertically

Updated . Posted . Visible to the public.

Consider this HTML:

<div style="line-height: 42px">
  <input type="checkbox" />
</div>

Even though the surrounding container defines a line-height, which vertically centers its inline elements, the check box will be top aligned if it is the only element inside the container.

It will be aligned correctly if the HTML looks like this:

<div style="line-height: 42px">
  <input type="checkbox" /> foo
</div>

Complex explanation here.

So the actual fix is to add some inline elements next to the check box. You could use a non-breaking space left and/or right of it -- keep in mind that you can use our nbsp helper instead of ugly &nbsp; entities.

This happens across all browsers and applies to other elements as well, e.g. img tags.

Arne Hartherz
Last edit
Henning Koch
Keywords
correct, valign, css
License
Source code in this card is licensed under the MIT License.
Posted by Arne Hartherz to makandra dev (2011-08-12 14:35)