Full-justify for li elements
Use this solution (or this one). Translating that answer to a list results in:
Markup:
<ul>
<li>Item1</li>
<li>Item2</li>
<li>Item3</li>
<li>Item4</li>
</ul>
Style sheet:
ul {text-align: justify}
ul::after {width: 100%; display: inline-block; content: "."; visibility: hidden}
li {display: inline-block}
This is an IE7+ solution. For IE7 you need an extra element adjacent to the list items.
IMHO, the best way is use CSS3 Flexboxes:
.menu {
display: flex;
justify-content: space-around;
}