- Не справился с text-align:middle? - ты не один такой!
Огорчает работа CSS с вертикальными размерами вообще?
Вариант: попробуй flexbox, а статья по ссылке - на русском! - поможет с ним разобраться.
Но предупреждаю: этот инструмент далек от совершенства! Глючит. Однако чертовски интересен и может быть полезен.
- Новые элементы в HTML5 - зачем?
Ответ: добавляют семантики. Прошлые версии языка семантически бедны, и прходилось делать псевдосемантику при помощи атрибутов class или id. В новую версию языка пришла настоящая семантика.
На всякий случай, вот краткий список некоторых из упомянутых элементов:
<section>, <nav>, <aside>, <header>, <footer>
(см., напрмер, htmlbook.ru/blog/semantika-v-html5)