• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:css の float:left; を li 適用)

CSSのfloat:leftをliに適用して横並びにする方法

このQ&Aのポイント
  • CSSのfloat:leftをliに適用すると、ul内のli要素が横並びに表示されます。
  • 入れ子の場合でも一段目に間を空けずに表示することができます。
  • 必要なCSSの設定をお教えします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

>わかりにくかったと思いますが、aaa、bbbも >横に表示したいと思います  いえ、それも想定して書いてありますよ。 div#contentTable ul li ul li{display:block;}/* 縦に!!横にすると次のulと重なるよ */  この行を消せばよいだけ。ulの幅が狭いのでliが縦に並ぶので最終的には div#contentTable{line-height:2em;text-align:center;} div#contentTable ul{margin:0;padding:0;position:relative;list-style:none;} div#contentTable ul li{display:inline-block;width:5em;position:relative;z-index:10;} /* 二階層目のulの位置を指定 */ div#contentTable ul li ul{width:100%;position:absolute;top:2em;left:0;} /* ★ */ div#contentTable ul li ul li{display:block;}/* ★縦に!!横にすると次のulと重なるよ */ /* ★プルダウンにするなら */ /* div#contentTable ul li ul{display:none;} div#contentTable ul li:hover ul{display:block;} */ /* 分かりやすいよう着色 */ div#contentTable ul li ul li{background-color:silver;} div#contentTable ul li{background-color:lime;} div#contentTable ul li:hover{background-color:yellow;} ↓ div#contentTable{line-height:2em;text-align:center;} div#contentTable ul{margin:0;padding:0;position:relative;list-style:none;} div#contentTable ul li{display:inline-block;width:5em;position:relative;z-index:10;} /* 二階層目のulの位置を指定 */ div#contentTable ul li ul{width:400%;position:absolute;top:2em;left:0;} /* プルダウンにするなら */ div#contentTable ul li ul{display:none;} div#contentTable ul li:hover ul{display:block;} /* 分かりやすいよう着色 */ div#contentTable ul li ul li{background-color:silver;} div#contentTable ul li{background-color:lime;} div#contentTable ul li:hover{background-color:yellow;} となるだけ [参考] ナビゲーションリストを様々にデザインしてみよう。( http://www.ichiya.com/WebService/Howto/sample/HTML/nav/navigation1.html )  このページで、[表示]メニューから[スタイル(シート)]を選択して、色々なスタイルを選択してみる。  ウィンドウ幅を変えたり、印刷プレビューも確認してみる。  HTMLさえ率直にシンブルに書いておけばスタイルシートでどうにでもなる。

neko-007
質問者

お礼

ありがとうございます 思い通りのもので、助かりました

その他の回答 (1)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

floatじゃないでしょう(^^)  floatはかって古いIE(IE7)がdisplay:inline-block;に対応していないときの名残 <div id="contentTable">  <ul>   <li>一章</li>   <li>二章    <ul>     <li>1項</li>     <li>2項</li>     <li>3項</li>    </ul>   </li>   <li>三章    <ul>     <li>1項</li>     <li>2項</li>     <li>3項</li>    </ul>   </li>  </ul> </div> div#contentTable{line-height:2em;text-align:center;} div#contentTable ul{margin:0;padding:0;position:relative;list-style:none;} div#contentTable ul li{display:inline-block;width:5em;position:relative;z-index:10;} /* 二階層目のulの位置を指定 */ div#contentTable ul li ul{width:100%;position:absolute;top:2em;left:0;} div#contentTable ul li ul li{display:block;}/* 縦に!!横にすると次のulと重なるよ */ /* プルダウンにするなら */ /* div#contentTable ul li ul{display:none;} div#contentTable ul li:hover ul{display:block;} */ /* 分かりやすいよう着色 */ div#contentTable ul li ul li{background-color:silver;} div#contentTable ul li{background-color:lime;} div#contentTable ul li:hover{background-color:yellow;}

neko-007
質問者

補足

ありがとうございます 回答を表示させてみました 章の下の項の部分が縦に表示されました こちらがサンプルとして、BBBの下にaaa、bbbがあるだけ わかりにくかったと思いますが、aaa、bbbも 横に表示したいと思います この点についてないも触れていないの、こちらのミスですが 第一段目の章の部分にマウスオーバー、または」クリックしたとき 第二段目の項の部分が表示されることを考えています つまり、二章にマウスオーバーで 一章 二章 三章    1項2項3項 三章にマウスオーバーで 一章 二章 三章        1項2項3項 とそれぞれの章の下に項が横並びで表示されるということをしたいと思います 説明不足ですいませんが このようなことが可能であれば、教えてください よろしく、お願いします

関連するQ&A

専門家に質問してみよう