私はサイトのメニューに素敵なトランジションを作ろうとしています。ユーザーが親アイテムの上を移動すると、子供たちは滑り落ち、マウスが離れると元に戻ります。しかし、彼らはこのfiddleに見られるように、そうではありません。それから、私はここで助けを求めて、overflow: hidden;
のアプローチを使用し、height
を移行することだけを指摘しました。はい。基本的にはそうCSSの奇妙な振る舞い:オーバーフローとマージン左
ul {
list-style: none;
padding: 0;
}
li {
width: 180px;
}
#menu ul ul {
position: absolute;
overflow: hidden;
background: red none repeat scroll 0 0;
}
#menu ul li {
position: relative;
}
#menu ul ul li {
height: 0;
transition: height 0.2s ease 0s;
}
#menu ul ul ul {
margin-left: 100%;
top: 0;
}
#menu ul li:hover>ul>li {
height: 32px;
}
<nav id="menu">
<ul>
<li>Parent Item
<ul>
<li>Child Item</li>
<li>Child Item >
<ul>
<li>Child Child Item 1</li>
<li>Child Child Item 2</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
「子子アイテム1」と「子子アイテム2」の項目は、ユーザーには見えない:以下のコード例で見られるように、しかし、それは私の子供の項目の子項目を隠しました。マウスを動かすとスライドを上下に動かす/両方の子アイテムを表示して表示するにはどうすればよいですか?それは純粋なCSSで行うことができますか?
私は私があなたの元の質問への答えを与えていたことに気づきます。以下の解決策が見つかったら元の質問で回答を更新できます。ありがとう – sol