横並びでサブメニューがあるメニューを以下の様に作成しました
HTMLは
<ul>
<li><a href="">トップページ</a></li>
<li><a href="">メニュー2</a>
<ul class="sub-menu">
<li><a href="">メニュー2のサブメニュー</a></li>
<li><a href="">メニュー2の長いんだよサブメニュー</a></li>
<li><a href="">メニュー2のサブメニュー</a></li>
</ul>
</li>
<li><a href="">メニュー3</a></li>
<li><a href="">メニュー4</a></li>
<li><a href="">メニュー5</a></li>
<li><a href="">メニュー6</a></li>
<li><a href="">メニュー7</a></li>
</ul>
CSSは
ul{
float:right;
font-size:95%;
padding-bottom:20px;
}
ul ul{padding-bottom:0;width:auto;}
ul li{
display:inline-block;
vertical-align:text-top;
text-align:left;
padding:5px 0;
margin-left:15px;
background:url(../images/arrow.png) no-repeat 0 9px;
}
ul lia{
display:block;
padding:0 0 0 12px;
overflow:hidden;
}
ul li li{
display:block;
padding:0;
margin-left:5px;
background:url(../images/arrow2.png) no-repeat 0 6px;
}
これですと添付画像の左のようになってしまいます。
サブメニューの長さに関係なく、右のようにメニューを詰めることは可能ですか
No.1ベストアンサー
- 回答日時:
ナビゲーションでしょうから、文書構造が分かるようにclass名をnavにしたdivで囲んでおきます。
<div class="nav">
<ul>
<li><a href="">トップページ</a></li>
<li><a href="">メニュー2</a>
<ul>
<li><a href="">メニュー2のサブメニュー</a></li>
<li><a href="">メニュー2の長いんだよサブメニュー</a></li>
<li><a href="">メニュー2のサブメニュー</a></li>
</ul>
</li>
<li><a href="">メニュー3</a></li>
<li><a href="">メニュー4</a></li>
<li><a href="">メニュー5</a></li>
<li><a href="">メニュー6</a></li>
<li><a href="">メニュー7</a></li>
</ul>
</div>
/* ナビゲーションのリストのスタイルをリセット*/
div.nav ul,div.nav ul li{
margin:0;padding:0;
line-height:2em;
text-align:center;
width:100%;
position:relative;
background-color:white;
z-index:100;
}
/* 横並び */
div.nav ul li{
display:inline-block;
width:13%;/* 7項目なので100÷7≒14.29 */
}
div.nav ul li ul{
position:absolute;
top:2em;
width:300%;
}
div.nav ul li ul li{
display:block;
text-align:left;
width:auto;
}
/* hover */
div.nav ul li ul{display:none;}
div.nav ul li:hover ul{display:block;}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS インラインブロックの中のテキストを上下中央に合わせたい 1 2022/12/24 17:46
- HTML・CSS htmlについて質問です! 写真のように写真の部分が?になってしまいます。 ファイルもしっかり選べて 1 2023/07/09 21:17
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSSが上手く反映されないみたい...
-
htmlの<ol>タグで、数字などを...
-
<table>の高さ固定。情報増加時...
-
ulタグやliタグの中でbrタグ...
-
li 長さ指定
-
真横に展開するドロップダウン...
-
ページを開いているときのリン...
-
display:table;を多段表示させたい
-
URLにアクセスした際に指定した...
-
プルダウンメニューの背景色を...
-
HTMLのdlとul どちらが正しいと...
-
html <ul></ul>の並びで一行空...
-
サイドバーの作り方を教えてく...
-
リストの数字のフォントサイズ...
-
【CSS】メニュー上部に固定させ...
-
リストマーカーをボックス内に...
-
html/cssの、navを2段にする...
-
liタグの中に<p>タグやら<dl>を...
-
CSSでつくったメニューのアニメ...
-
pythonリストの特定の値を表示h...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リストマーカーをボックス内に...
-
liタグの中に<p>タグやら<dl>を...
-
divタグ内のコンテンツが重なっ...
-
リストの数字のフォントサイズ...
-
html/cssの、navを2段にする...
-
レスポンシブWebデザインでリン...
-
ulタグやliタグの中でbrタグ...
-
複数行にまたがる括弧を表示し...
-
<table>の高さ固定。情報増加時...
-
画像にリンクを張ると画像がず...
-
html <ul></ul>の並びで一行空...
-
<ul><li></li></ul>にするメリ...
-
ページを開いているときのリン...
-
HTMLで組織図を作成する方法
-
リンク文字同士の間隔を開ける...
-
htmlの<ol>タグで、数字などを...
-
ボタンを横に並べて表示させる方法
-
bxsliderの画像が左によってしまう
-
番号付きリスト(<Ol><Li>・・...
-
HTMLもしくはCSSのULでリンクを...
おすすめ情報