Ответ 1
Простое исправление, используйте автоматическое регулирование:
ul li:last-child {
margin-left: auto;
}
Вы также можете не использовать width: 100%
, чтобы элемент находился внутри видимой области:
ul {
display: flex;
justify-content: flex-start;
flex-direction: row;
align-items: center;
/* width: 100%; */
height: 100px;
background: #333;
padding: 15px;
}
См. также http://www.w3.org/TR/2012/CR-css3-flexbox-20120918/#auto-margins