Есть демо
https://jsfiddle.net/u46vtd8f/1/ в ней HTML
<div class="top">
<div class="one">
Раз
</div>
<div class="one">
Два
</div>
<div class="one">
Три
</div>
</div>
CSS
.top{
background-color: gray;
height: 6rem;
margin: 1.5rem 0rem;
display: -webkit-flex;
display: -ms-flex;
display: flex;
-webkit-align-items: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.one{
color: red;
width: 50%;
font-size: 2rem;
}
По вертикали выравнивается всё правильно (по центру). Как сделать так что бы по ширине они вели себя так де как display: inline, т.е. следующий пункт меню начинался сразу как закончится предыдущий? А не расползались равномерно по всей ширине?