• ベストアンサー

ulやolのリストを横並びに表示したい

初心者です。 題名の通りなのですが、普通にリスト表示すると、縦並びになってしまいますが、 これを横並びにする方法を教えていただけないでしょうか。 よろしくお願いいたします。

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

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

その部分のHTMLと想定される表現によって色々な方法があります。  大きく分けて、<li>というリストアイテムをブロックにしてfloatを使って並べるか、インライン要素にするかです。ブロックだとウィンドウ巾が小さいとき、<li></li>全体が回り込みますが、inlineだと途中で改行します。 [例]ナビゲーションセクションにあるリスト(ナビゲーションリスト)の場合 <div class="nav"> <ol> <li><a href="">ABC</a></li> <li><a href="">EFG</a></li> <li><a href="">ABC</a></li> <li><a href="">EFG</a></li> </ol> の場合に ブロックで横並び div.nav ol li,div.nav ol li{ display:block; } div.nav ol li{ list-style:none; float:left; } インライン要素にする場合 div.nav ol li{ display:inline; list-style:none; }  リンクリストの場合、一般的にはブロックにするほうが、ボタン風にしたり、プルダウンにしたりとデザインの自由度が高いので多く使われているようです。  単純にセクションごとの遷移リストの場合は、inlineのほうが良い場合もあります。

tatapatank
質問者

補足

早速のご連絡、ありがとうございます。 頂いたブロック要素で、リストは横一列になったのですが、 そのあとの要素がリストの右側に回り込んでしまいます。 リスト表示の後は、通常の配置に戻したいのですが、 これはどうすればよいでしょうす。 お願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

noname#158634
noname#158634
回答No.5

一般的には、<li>にfloat:leftを設定。 しかしこうすると、floatの副作用で</ul>から下のレイアウトが変化するので、<ul></ul>の次の要素にclear:bothを指定。bothはleftでも当然いいのですが、念のためboth(左右両方)を指定する場合が多い。 ちなみに、「<ul></ul>の次の要素」にわざわざfloat解除用の指定をするのが美しくないという考え方もあり(ちなみに私もです)、「clearfix」という手法がとられることもよくあります。 https://www.google.com/search?q=css+clearfix ただし、これは疑似要素を使うため初心者には若干ハードルが高い。CSSに慣れるまではおとなしく「次の要素にclear:both」をしておくのがいいでしょう。

全文を見る
すると、全ての回答が全文表示されます。
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.4

>そのあとの要素がリストの右側に回り込んでしまいます。 失礼しました。ちょっとしたミスを div.nav ol,div.nav ol li{/* 訂正 */ display:block; list-style:none; margin:0;padding:0; } div.nav ol{ width:100%;height:26px;/* line-height + (border-width)*2 */ line-height:20px; } div.nav ol li{ width:20%;/* 例です */ } div.nav ol li+li{ margin-left:10px; } div.nav ol li a{ display:block;/* インライン要素をブロックに */ width:100%; height:100%; text-decoration:none;/* アンダーラインを消す */ border:red 3px ridge;/* 盛り上がった赤い枠 */ } div.nav ol li a:visited{ border-color:maroon; } div.nav ol li a:hover{ color:red; border-color:yellow; } div.nav ol li a:active{ border-style:inset; background-color:blue; }

全文を見る
すると、全ての回答が全文表示されます。
noname#147388
noname#147388
回答No.3
全文を見る
すると、全ての回答が全文表示されます。
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

スタイルシートで <li>にたいし display:inline を指定すればOK

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • li ul横並びについて

    横並びのメニューを表示させるところまでは出来たのですが、ウィンドウを縮小させると画像の通りリストが画面に合わせてズレてしまいます。 CSSはこのように書いています。 ul.menu{ list-style:none; width:100%; font-size:25px; //margin-left:0px; //margin-top: 642px; position: relative; top: 642px; right: 27px; padding:3px 0px; text-align:center; font-family: 'Gorditas', cursive; } ul.menu li{ list-style:none; display:inline; margin:0px 15px; } ウィンドウを縮小しても横並びのままにはならないのでしょうか?まだまだ勉強途中なのでわかりやすく教えて頂けるとありがたいです。

    • ベストアンサー
    • CSS
  • 画像が横並びになりません

    htmlでページを作っているのですが、画像が縦並びになってしまいます。横並びにしたいのですがどうすればいいのでしょうか。  □□□  □□□のような感じです。

  • bashのlsでファイル名のみ縦並びに表示する方法

    bashのlsで「ファイル名のみ縦並びに表示する」方法はありますか? 単にlsと入力するとファイル名を横並び…画面端にきたら2行目が横並び…で表示される環境で、あえて縦並びにする方法です。

  • JavaScript:縦並びのブログパーツを横並びに

    http://youlist.jp/list_y?tag=%E3%83%86%E3%82%B9%E3%83%88&user_id=&type=youlist ↑ここにある縦並びになっているyoutube動画のオブジェクトを横並びに変えることは可能でしょうか? よろしくお願いいたします。

  • ブログの画像を横並びにUPしたい

    teacupブログにマジカルメーカーで画像をUPしています。 大きいものは縦並びでいいのですが、小さくしたものを横並びに載せる方法はありますか?それから、今は文章を書いた下に画像を載せてその下に文章を書いて…という感じですが、画像のみを右側に寄せるとか、文章と画像を横に並べるとか、初心者にもできますか?教えてください。

  • 横並びリストでの改行

    リストをcssでフロートで横並びにした場合の話ですが、 たとえば、項目が5つあって、liのwidthを指定せずに500pxのボックスの中に横並びにすると、5つの合計の幅が500pxでおさまる場合は問題ないのですが、おさまらない場合、IEで項目の途中で改行されてしまいます。 li { white-space: nowrap; } で改行させないようにすることはできるのですが、これだと、1項目の中身が500pxを超えてしまうような長文の場合、逆に突き抜けてしまい困っております。 何かよい方法があればご教授いただけると助かります。

    • 締切済み
    • CSS
  • リストを横並びにするプログラム

    リストを横並びにする方法として下記がありました。例えば A B Cですが 縦に並べるプログラムはわかりましたが、横にするには,説明では<簡単でこれを書けばいい>とあります。これをどこに書くのかわかりません。 A B C を A B C にしたのです。教えて頂ければ嬉しいのですがお願いします。 ul { } li { background-color: #222222; display: inline-block; width: 25%; }

    • ベストアンサー
    • CSS
  • テキストボックスを横並びで表示

    テキストボックスを2つ作り横並びに表示したいのですがどうしても縦ならびに表示されてしまいます。 display:inlineをCSSで入れても変化がありません。 <input style="display: inline;" type="text" name="post_1" value="<?=$_SESSION["post_1"]?>">-<input style="display: inline;" type="text" name="post_2" value="?=$_SESSION["post_2"]?>"> 他に関係する要素はあるのでしょうか?

    • ベストアンサー
    • HTML
  • CSSでリストを横並びにし、行頭画像を表示させたい

    XHTMLとCSSでのWebページを作成しています。 リストを横並びに表示、行頭画像も表示させ、さらにポイントした時に画像が変わるようにしたいのですが、下記の記述では横並びにはできても画像が表示されず困っています。 おかしい部分や足りない部分がありましたら、ご指摘お願い致します。 ≪CSS≫ #menu li{ display:inline; list-style-image:url(画像のパス); } #menu li a:hover{ list-style-image:url(画像のパス); } ≪html≫ <div id="menu" name="menu"> <ul> <li><a href="ファイルのパス">文字列</a></li> <li><a href="ファイルのパス">文字列</a></li> <li><a href="ファイルのパス">文字列</a></li> </ul> </div> 試しにdisplayを削除すると、画像はちゃんと表示されるので、画像のパスは間違っていないはずです。 何卒、宜しくお願い致します。

    • ベストアンサー
    • CSS
  • 横並びのテキストデータを縦並びに変更する方法

    どなたかご存知の方がいらっしゃいましたら,教えてください。 --------------------------------------------- 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ・・・ --------------------------------------------- のように横並びに配列されたテキストデータを, ----------- 1 2 3 4 5 6 ・ ・ ・ ----------- のように縦並びに変更したいのですが,操作方法がわかりません。 エクセルに変換?とかでしょうか。 よろしくお願いします。