Creating a Dropdown Menu

To create a dropdown menu in HTML, you can use a combination of nested div or ul elements and CSS to hide the dropdown content until a user hovers over the parent element.

Dropdown menus are a common way to organize navigation on a website when you have many links or want to categorize them. You can achieve a basic dropdown effect using only CSS, without needing any JavaScript.

The Basic Approach

The main concept is to provide a container (like a div) for your dropdown links and set its display property to none by default. When the user hovers over the parent element, you change that property to block.

Like this:

Key Positioning Properties/Values

For a clean dropdown menu that doesn't push the rest of your page content down when it appears, you need to use specific positioning:

Full Working Example

In the following example, we have a navbar with "Products" and "Services" items that reveal dropdown lists when hovered over:

View Output Full Screen Preview

Tip: Adding a Delay

Simple CSS-only dropdowns appear instantly when a user hovers over them. For a more fluid feel, you can add a subtle transition effect or use a small amount of JavaScript to add a slight delay before the menu closes, preventing it from disappearing too abruptly if the user's cursor accidentally slips off.