It seems to work OK, but it exhibits some semi-weird behavior. But when the li element is not img. That works, but if I do that then your solution works just as well. Step 5 - Removing text decoration. It only took me 1/2 the day, but I figured it out! To prevent this, just make sure the parent element cannot become to small where this happens by either setting a static width that is large enough, or a min-width. If we wrap the menu in a table div, we can solve this. nav { text-align: center; } ) and the list items inline-block (e.g. Start with a basic unordered list. css alignment element Staging Ground Beta 1 Recap, and Reviewers needed for Beta 2, I need an unordered list without any bullets. When you set the display property of a list item to inline-block or inline, it only takes up as much space as it requires, therefore, the list automatically becomes horizontal. flex-start Implementing horizontal lists is, thanks to the flexibility of CSS, not a tough task. Download the example here. Step 2 - Remove the bullets. @Roberto: Yeah this is starting to get a little confusing Lets say you wanted to declare an absolute width to each of those list items in your contact bar, a reasonable request. .list-container { text-align: center; .list-item { display: inline-block; } } It's from here. The