Reputation: 307
I am trying to get the submenu in the navigation bar appear with a transition. But this isn't working. The css code I am using is this-
#navigation li ul {
display: none;
width: auto;
position: absolute;
margin: 0;
padding: 0;
background-color: #F87217;
-webkit-transition: 0.7s;
-moz-transition: 0.7s;
-o-transition: 0.7s;
transition: 0.7s;
}
#navigation li:hover ul {
display: block;
}
How can I get the transition working?
Upvotes: 0
Views: 2239
Reputation: 1754
When you use display none, the item is not rendered... So you will never be able to hover it. Usging height as Jan Dvorak says might be a better option. But also an item with height 0 can't be hovered.
I'd recommend using transparency.
#navigation li ul {
opacity: 0;
...
}
#navigation li:hover ul {
opacity: 1;
}
Upvotes: 1
Reputation: 27277
You can't transition display
. Try transitioning height
or opacity
instead:
#navigation li ul {
display: block;
width: auto;
height: 0;
opacity: 0; /* optional */
/* other attributes */
-webkit-transition: 0.7s;
-moz-transition: 0.7s;
-o-transition: 0.7s;
transition: 0.7s;
}
#navigation li:hover ul {
height: auto;
opacity: 1; /* optional */
}
Upvotes: 2