微妙な遷移を伴うドロップダウン ナビゲーション バーを作成しようとしています。height:0 > height:auto
トランジションでは機能しないため、コンテンツを非表示にすることはできません。使用してみmax-height:0 > max-height:5000px
ましたが、コンテンツは実際にはまだ に隠されているようopacity
です。「見えない」コンテンツにカーソルを合わせると、実際には想定されていない場合でも表示されるため、問題が発生します。
ここにデモがあります:
http://codepen.io/ajrdesign/pen/cabGx
HTML:
<ul class="nav">
<li><a href="">Home</a></li>
<li class="has-dropdown">
<a href="">Products
</a>
<div class="dropdown-content">
<ul class="nav">
<li><a href="#">Some</a></li>
<li><a href="#">More</a></li>
<li><a href="#">Links</a></li>
</ul>
</div>
</li>
<li><a href="">Solutions</a></li>
<li><a href="">More</a></li>
</ul>
CSS
ul {
list-style:none;
}
li {
display:inline-block;
}
.has-dropdown{
position: relative;
}
.dropdown-content{
opacity:0;
max-height: 0;
-webkit-transition: opacity 200ms ease-in-out 350ms;
-moz-transition: opacity 200ms ease-in-out 350ms;
-ms-transition: opacity 200ms ease-in-out 350ms;
-o-transition: opacity 200ms ease-in-out 350ms;
transition: opacity 200ms ease-in-out 350ms;
position: absolute;
z-index: 1000;
}
.has-dropdown:hover .dropdown-content{
display:block;
opacity: 1;
max-height: 5000px;
}
ハングアップは何ですか?max-height:0
本来あるべきように実際に機能していないのはなぜですか?