W3.CSS Dropdowns
W3.CSS Dropdown Classes
W3.CSS provides the following dropdown classes:
| Class | Defines | 
|---|---|
| w3-dropdown-hover | A hoverable dropdown element | 
| w3-dropdown-content | The dropdown part to be displayed | 
| w3-dropdown-click | A clickable dropdown element | 
Dropdown Elements
The w3-dropdown-hover class defines a hoverable dropdown element.
The w3-dropdown-content class defines the dropdown content to be displayed.
Example
<div class="w3-dropdown-hover">
  <button class="w3-button">Hover Over Me!</button>
  <div class="w3-dropdown-content w3-bar-block w3-border">
    <a href="#" class="w3-bar-item w3-button">Link 1</a>
    <a href="#" class="w3-bar-item w3-button">Link 2</a>
    <a href="#" class="w3-bar-item w3-button">Link 3</a>
  </div>
</div>
Both the hoverable element and the dropdown content element can be any HTML element.
In the example above the hover element was a <button>, and the dropdown content a <div>.
In the next example the hover element is a <p>, and the dropdown content is a <span>:
Example
<p class="w3-dropdown-hover">Hover over me!
  
<span class="w3-dropdown-content w3-green">Hello World!</span>
</p>
Menu Dropdowns
The w3-dropdown-hover class is perfect for creating navigation bars with dropdown menues:
Example
  <div class="w3-bar w3-light-grey">
  <a href="#" class="w3-bar-item 
  w3-button">Home</a>
  <a href="#" class="w3-bar-item w3-button">Link 
  1</a>
  <div class="w3-dropdown-hover">
    <button 
  class="w3-button">Dropdown</button>
    <div 
  class="w3-dropdown-content w3-bar-block w3-card-4">
      
  <a href="#" class="w3-bar-item w3-button">Link 1</a>
      <a href="#" 
  class="w3-bar-item w3-button">Link 
  2</a>
      <a href="#" class="w3-bar-item 
  w3-button">Link 3</a>
    
  </div>
  </div>
</div>
Try It Yourself »
Note: You will learn more about Navigation Bars later in this tutorial.
Clickable Dropdowns
The w3-dropdown-click class creates a clickable dropdown element.
With this class, the dropdown is opened by JavaScript:
Example
<div class="w3-dropdown-click">
  <button onclick="myFunction()" class="w3-button w3-black">Click Me!</button>
  <div id="Demo" class="w3-dropdown-content 
  w3-bar-block w3-border">
    <a href="#" class="w3-bar-item w3-button">Link 1</a>
    <a href="#" class="w3-bar-item w3-button">Link 2</a>
    <a href="#" class="w3-bar-item w3-button">Link 3</a>
  </div>
</div>
<script>
function myFunction() {
  var x = document.getElementById("Demo");
    if (x.className.indexOf("w3-show") 
== -1) {  
    x.className += " w3-show";
    
	} else { 
    x.className = x.className.replace(" w3-show", "");
    }
}
</script>
Image Dropdowns
Move the mouse over the image:
  
  Example
<div class="w3-dropdown-hover">
 
<img src="img_snowtops.jpg" alt="Norway" style="width:20%">
  <div 
class="w3-dropdown-content" style="width:300px">
    <img src="img_snowtops.jpg" 
alt="Norway" style="width:100%">
  </div>
</div>
Card Dropdowns
Move the mouse over one of the cities below:
    London is the capital city of England.
It is the most populous city in the United Kingdom, with a metropolitan area of over 9 million inhabitants.
    Tokyo is the capital city of Japan.
13 million inhabitants.
Example
 <div class="w3-dropdown-hover">London
  <div class="w3-dropdown-content 
 w3-card-4" style="width:250px">
    <img src="img_london.jpg" 
 alt="London" style="width:100%">
    <div 
 class="w3-container">
      <p>London is the 
 capital city of England.</p>
      <p>It is the 
 most populous city in the UK.</p>
    </div>
  </div>
 </div>
Animated Dropdown
Use any of the w3-animate-classes to fade, zoom or slide in the dropdown content:
Example
<div class="w3-dropdown-click">
  <button onclick="myFunction()" 
class="w3-button">Click Me</button>
  <div id="Demo" 
class="w3-dropdown-content w3-bar-block w3-animate-zoom">
    <a href="#" 
  class="w3-bar-item w3-button">Link 
1</a>
    <a href="#" class="w3-bar-item w3-button">Link 2</a>
    <a href="#" 
  class="w3-bar-item w3-button">Link 3</a>
  </div>
</div>
Right-aligned Dropdown
Use the w3-right class to float the dropdown to the right. Use CSS to position the dropdown content (right:0 will make the dropdown menu go from right to left instead of left to right):
Example
<div class="w3-dropdown-hover w3-right">
  <button class="w3-button">Dropdown</button>
  <div class="w3-dropdown-content 
  w3-bar-block w3-border" style="right:0">
    <a href="#" class="w3-bar-item w3-button">Link 1</a>
    <a href="#" class="w3-bar-item w3-button">Link 2</a>
    <a href="#" class="w3-bar-item w3-button">Link 3</a>
  </div>
</div>