ホバー時にサブメニューを表示し、ホバーしたアイテムの右側に飛び出すポップアップメニューのスタイルを設定しようとしています。私の主な項目は を使用して 2 つの列に分割されてcolumn-count
おり、ここから不幸が始まります。
Firefox では、すべてが期待どおりに動作します。ホバーされたアイテムがある場所にサブメニューが表示されます。Chrome では、サブメニューは一番左の列を基準にしてポップアップします。
4 つのケース (ホバーされたアイテム 3 と 9、Firefox と Chrome) が添付の画面に示されています。Firefox と Chrome の両方でデモを試して、私の言いたいことを確認してください。
これに対するきちんとした解決策はありますか?column-span を試しましたが、うまくいきません。li
ポップアップを完全な高さにしたいので、アイテムの相対を作成できません。
ul.first {
border:1px solid #888;
position:relative;
display:inline-block;
margin:5px;
padding:0;
column-count:2;
-moz-column-count:2;
-webkit-column-count:2;
column-rule:1px solid #888;
-moz-column-rule:1px solid #888;
-webkit-column-rule:1px solid #888;
background-color:#eee;
}
ul.first li {
list-style:none;
display:block;
width:200px;
background-color:#eee;
margin:2px;
padding:5px;
}
ul.first li:hover {
background-color:#ddd;
}
ul.first > li.hassub > ul {
display:none;
position:absolute;
margin-left:100px;
top:0;
bottom:0;
background-color:#ddd;
padding:0 5px;
}
ul.first > li.hassub:hover > ul {
display:inline-block;
}
ul.first > li.hassub > ul > li {
background-color:#ddd;
}
ul.first > li.hassub > ul > li:hover {
background-color:#eeffee;
}
<ul class="first">
<li>Item 1</li>
<li>Item 2</li>
<li class="hassub">Item 3
<ul>
<li>Subitem 3-1</li>
<li>Subitem 3-2</li>
<li>Subitem 3-3</li>
<li>Subitem 3-4</li>
</ul>
</li>
<li>Item 4</li>
<li>Item 5</li>
<li>Item 6</li>
<li>Item 7</li>
<li>Item 8</li>
<li class="hassub">Item 9
<ul>
<li>Subitem 9-1</li>
<li>Subitem 9-2</li>
<li>Subitem 9-3</li>
<li>Subitem 9-4</li>
</ul>
</li>
<li>Item 10</li>
</ul>