How to create a horizontal scrolling menu with and without flex using CSS (or SCSS)?
January 24, 2021

We can make use of overflow and white-space properties of CSS to create a horizontal scrolling menu.

CSS overflow property

We can tell browser what to do when the content overflows an element’s box using the overflow property. We can decide to clip content or to add scrollbars. If we don’t specify, browser will just add it’s value to default which is same as visible — it will show the content overflowing it’s box.

CSS white-space property

We can tell browser how to handle the white space inside a container using the white-space property.

We will use nowrap value in white-space property. It will make all sequences of whitespace collapse into a single whitespace. Text will never wrap to the next line until a br tag is encountered in the line.

Example with display:block

I’ve used SCSS in the example but it’s easy to convert it into CSS code.

Example with display:flex

We can just convert the container into flex in the example above and the menu will behave the same way. Take a look:

To be on the safe side, I have added flex-direction:row; flex-wrap:nowrap; but we can skip it and browser will keep those values as default.


Leave a Reply

Most Read

#1 How to check if radio button is checked or not using JavaScript? #2 How to set opacity or transparency using CSS? #3 Pagination in CSS with multiple examples #4 How to make HTML form interactive and using CSS? #5 Solution to “TypeError: ‘x’ is not iterable” in Angular 9 #6 How to uninstall Cocoapods from the Mac OS?

Recently Posted

Mar 2 How to zoom an element on hover using CSS? Mar 2 the box-sizing property in CSS Mar 2 WordPress: How to access first and random row values from a repeater field in ACF? Mar 1 The basics of CSS Box model Feb 27 WordPress: How to display slider repeater fields in ACF? Feb 26 Simple Page Hit Counter in PHP

You might also like these

Why do we need HAVING Clause in SQL?SQL/MySQLHow to add AppRoutingModule in Angular application using command line?AngularIntroduction to components and templates Part 1: Component MetadataAngularWhat is iFrame in HTML? Why do we need it?HTMLALTER DATABASE in PostgreSQLPostgresNumber Properties in JavaScriptJavaScriptHow to use HTML Quotation and Citation?HTMLIntroduction to components and templates Part 3: Data bindingAngularContent types in DrupalDrupalSorting Object Arrays in JavaScriptJavaScriptHow to create a smooth scrolling effect with CSS?CSSHow to make a UILabel clickable in Swift 5?Swift