皆さんの助けとアイデアに感謝します。
私は問題を解決したと思います:
最初に、幅と高さの属性が固定されたシンプルなものを作成しました。
<div id="menu" style="width:200px; height:50px; overflow:visible;">
</div>
次に 、メニュー DIV の中に別のINSIDEを追加しました!
ここでは相対位置を使用して z-index 属性を使用しています。(絶対位置でもOKです。)
left 属性により、サブメニューが正しい位置に表示されます。
表示属性は none に設定されています。JavaScript コードで変更すると、DIV が表示されます。
<div id="menu" style="width:200px; height:50px; overflow:visible;">
<div id="sub-menu" style="width:200px; height:300px; position:relative; left:200px; display:none">
... items in sub-menu
</div>
</div>
その後、 MouseOver と MouseOut の 2 つの JavaScript 関数を追加しました。
<div id="menu" style="width:200px; height:50px; overflow:visible;" onmouseover="javascript: MouseOver();" onmouseout="javascript: MouseOut();">
<div id="sub-menu" style="width:200px; height:300px; position:relative; left:200px; display:none">
... items in sub-menu
</div>
</div>
Javascript:
function MouseOver(){
document.getElementById("sub-menu").style.display = "inline-block";
}
function MouseOut(){
document.getElementById("sub-menu").style.display = "none";
}
このように、マウス ポインターがメニュー DIV の上に移動すると、サブメニュー DIV が表示され、マウス ポインターがサブメニュー DIV を通過すると、それはメニュー DIV の上にもあるため、MouseOut 関数は呼び出されません。
トリックは、サブメニュー DIV をメイン メニュー DIV の内側に追加し、相対位置を使用することでした。表示属性の変更は明らかでした;)
説明が悪くてすみません。ありがとう。