Skip to content

Instantly share code, notes, and snippets.

@colintoh
Created October 27, 2014 07:08
Show Gist options
  • Select an option

  • Save colintoh/62c78414443e758c9991 to your computer and use it in GitHub Desktop.

Select an option

Save colintoh/62c78414443e758c9991 to your computer and use it in GitHub Desktop.
douchebag way of vertical alignment
.element {
position: relative;
top: 50%;
transform: translateY(-50%);
}
@IainIsCreative
Copy link
Copy Markdown

douchebag way of vertical alignment in my subjective opinion.

Even if it's a bad idea to you, it doesn't mean it is to somebody else. Context helps. Calling it a douchebag move isn't very appropriate.

@gabssnake
Copy link
Copy Markdown

why douchebag ?

@rowe-morehouse
Copy link
Copy Markdown

I think it's funny! ... but then maybe I'm just a douchebag. :)

@adamsheridan
Copy link
Copy Markdown

I do this regularly.. Is there a reason why I shouldn't or are you just kidding around?

@grde1988
Copy link
Copy Markdown

grde1988 commented Sep 2, 2015

some light reading for everyone here... http://colintoh.com/blog/display-table-anti-hero

@josephschmitt
Copy link
Copy Markdown

This works well a lot of the time, but just be aware that since css transforms are performed on layers on the GPU, the calculations it returns will not necessarily land on even pixels. When that happens you're going to get blurry text and edges.

If you know the height of the element you're centering, it's better to use a negative top margin that is half the height. That will always round to the nearest pixel. Or just cave and use flexbox 😄

@mehas
Copy link
Copy Markdown

mehas commented Jun 28, 2016

To prevent the half-pixel issue, set this on the parent element:

  transform-style: preserve-3d;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment