Выравнивание по центру и по центру элементов flexbox

Я бы хотелA B а такжеC выровнен в середине.

Как я могу получитьD идти полностью направо?

ДО:

ПОСЛЕ:

Какая лучшая практика для этого?

ul {
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
li {
  display: flex;
  margin: 1px;
  padding: 5px;
  background: #aaa;
}
li:last-child {
  background: #ddd;
  /* magic to throw to the right*/
}
<ul>
  <li>A</li>
  <li>B</li>
  <li>C</li>
  <li>D</li>
</ul>

https://jsfiddle.net/z44p7bsx/

Ответы на вопрос(4)

Ваш ответ на вопрос