Arun Bohra
Arun Bohra

Reputation: 547

Making a drop down menu in HTML and CSS

I want to make a dropdown menu just using html and css. However, I am unable to do it. I want to make the others list item a dropdwon menu. Can anyone help me with that?

Here's my CSS code:

```
nav {
     background-color: #01a6f0;
}

.navbar {
     list-style: none;
     float: right;
     margin-right: 10rem;
     margin-top: 2.6rem;
     margin-bottom: .5rem;
}

.navbar li {
     display: inline-block;
     padding: 1rem 1rem;
}

.navbar li:hover {
     background-color: #01A6FE;
}

.navbar li a {
     color: #fff;
}
```
Here's the HTML code
```
<nav>
<ul class="navbar">
                <li><a href="./home.html">Home</a></li>
                <li><a href="./puzzles.html">Puzzles</a></li>
                <li><a href="./stories.html">Stories</a></li>
                <li><a href="./goods.html">Goods</a></li>
                <li class="dropdown-link">Others
                         <ul class="dropdown-menu">
                              <li><a href="./story_show.html">Under The Sea</a></li>
                              <li><a href="./story_show.html">Middle The Sea</a></li>
                              <li><a href="./goods_show.html">Ovver The Sea</a></li>
                         </ul>
                    </li>
            </ul>
</nav>

Upvotes: 1

Views: 61

Answers (1)

Filip Huhta
Filip Huhta

Reputation: 2368

Try this example with just HTML and CSS:

It is from this site if you want to read more about this code: https://css-tricks.com/solved-with-css-dropdown-menus/

a {
  text-decoration: none;
}

nav {
  font-family: monospace;
}

ul {
  background: darkorange;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

li {
  color: #fff;
  background: darkorange;
  display: block;
  float: left;
  padding: 1rem;
  position: relative;
  text-decoration: none;
  transition-duration: 0.5s;
}
  
li a {
  color: #fff;
}

li:hover {
  background: red;
  cursor: pointer;
}

ul li ul {
  background: orange;
  visibility: hidden;
  opacity: 0;
  min-width: 5rem;
  position: absolute;
  transition: all 0.5s ease;
  margin-top: 1rem;
  left: 0;
  display: none;
}

ul li:hover > ul,
ul li ul:hover {
  visibility: visible;
  opacity: 1;
  display: block;
}

ul li ul li {
  clear: both;
  width: 100%;
}
<nav role="navigation">
  <ul>
    <li><a href="#">One</a></li>
    <li><a href="#">Two</a>
      <ul class="dropdown">
        <li><a href="#">Sub-1</a></li>
        <li><a href="#">Sub-2</a></li>
        <li><a href="#">Sub-3</a></li>
      </ul>
    </li>
    <li><a href="#">Three</a></li>
  </ul>
</nav>

Upvotes: 1

Related Questions