How to Create a Horizontal List using CSS
Table of Contents
Lists in HTML are useful because you can use them to display several pieces of related information.
However, by default, lists are rendered vertically, from top to bottom.
Sometimes you might want to display a list horizontally, from left to right, for example like for a menu of a website.
In this post, we'll learn how to display a list horizontally using CSS.
How to display a list horizontally using CSS
To start, first let's create a simple HTML list:
HTML<body>
<h1>My Website</h1>
<ul>
<li>Home</li>
<li>About</li>
<li>Contact</li>
</ul>
</body>
This will render like this:
- HTML
A quick way to display a list horizontally is to use the CSS property display: flex
on the list's parent element.
Let's add a class to the parent to do that:
HTML<body>
<h1>My Website</h1>
<ul class="parent">
<li>Home</li>
<li>About</li>
<li>Contact</li>
</ul>
</body>
CSS.parent {
display: flex;
}
That looks like this:
- HTML
- CSS
We can further improve the look of the list by adding a class to each item in the list and then styling them like this:
HTML<body>
<h1>My Website</h1>
<ul class="parent">
<li class="child">Home</li>
<li class="child">About</li>
<li class="child">Contact</li>
</ul>
</body>
CSS.parent {
display: flex;
list-style: none;
padding: 0;
}
.child {
background-color: #eee;
padding: 0.5rem 0.75rem;
}
- HTML
- CSS
As you can see, the list is now displayed horizontally and can be expanded on further to make it look like a navigation menu.
Conclusion
In this post, we learned how to display a list horizontally using CSS.
Simply add the CSS property display: flex
to the parent element of the list and you're good to go, then style the list items as you wish.
Thanks for reading!
- Getting Started with TypeScript
- Git Tutorial: Learn how to use Version Control
- How to deploy a .NET app using Docker
- How to build a Discord bot using TypeScript
- Getting Started with Deno
- Getting Started with Sass
- Using Puppeteer and Jest for End-to-End Testing
- Build a Real-Time Chat App with Node, Express, and Socket.io
- Building a Real-Time Note-Taking App with Vue and Firebase
- Getting Started with React
- Getting Started with Vuex: Managing State in Vue
- Setting Up a Local Web Server using Node.js