This is really out of date. Even IE11 supports flexbox. It is trivial to center things both vertically and horizontally, and easy to make a “Holy Grail” layout.
If you don't need to support IE11 you can use CSS Grid and do the entire layout in one or two CSS properties.
[^1]: https://en.wikipedia.org/wiki/Holy_grail_(web_design)