nav 要素を実際にブロック要素のように動作させるのに少し問題があります。いつものulタグとliタグの代わりに、navタグとaタグでメニューを作ってみました。それは計画通りにはいきませんでした。display:block css が効果がないかのように、メニューが次々と表示されます。メニューを重ねて表示したいのですが、次々に表示されるのではありません。
HTML:
<nav id="mainmenu">
<a href="#">Item1</a>
<a href="#">Item2</a>
<a href="#">Item3</a>
<nav>
<nav id="submenu">
<a href="#">Item1</a>
<a href="#">Item2</a>
<a href="#">Item3</a>
<nav>
CSS:
nav{
display: block;
}
編集:
これは私がセットアップしたい方法ですが、インラインブロックでスペースの問題が発生しないように a 要素をフロートすることをお勧めします。
nav要素がブロックされているときにaタグをフローティングするとすべてのaタグがインラインで表示される理由はまだわかりませんか?
a タグを unfloat すると、それらは正しく整列しますが、a タグの上下のパディングが失われます。display:block を追加して、すべてのタグが互いに重なり合っていることを修正するとします。フロートでそれを修正しようとすると、表示をインラインのままにします。
タグのインラインブロックは修正されているようですが、代わりにスペースの問題が発生します。
nav 要素をスタックして a 要素をフロートさせ、a 要素へのパディングを保持する方法はありますか?