ベストアンサー liタグをfloat,leftし横並びにしたのですが、テキストがうまく2行に改行されない@IE7 2009/09/17 16:05 はじめまして。 html初心者なんですが、 表題にあるようにメニューのようなものをliタグでテキストで横並びにするためfloat leftをかけたのですが、すべてテキストで構成しているためか、1行目の最後の文字、つまり、<li>hoge</li>が改行されず、残りの幅で縦書きに表示されてしまいます。 画像を添付いたします。 これの解決方法を教えてください。 どうかよろしくお願いいたします。 画像を拡大する みんなの回答 (2) 専門家の回答 質問者が選んだベストアンサー ベストアンサー salonpath ベストアンサー率48% (194/399) 2009/09/17 16:38 回答No.1 white-space:nowrap; をfloat:leftを指定してるliに入れてみるとどうなりますか? 質問者 お礼 2009/09/17 18:23 ありがとうございます。 解決いたしました。 通報する ありがとう 0 広告を見て他の回答を表示する(1) その他の回答 (1) yambejp ベストアンサー率51% (3827/7415) 2009/09/17 16:50 回答No.2 li{ white-space:nowrap; float:left; } 質問者 お礼 2009/09/17 18:24 ありがとうございます。 解決いたしました。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発HTML 関連するQ&A <li>タグを使って横並びメニューボタンを作成する際ベストな手法とは? CSSで、横並びのメニューボタンを作成しています。 (文字も画像にしています。) imgタグで並べるのではなく、liタグを使って、テキストは表示しないようにしたいと思い、下記のようなソースで記述しました。 /*htmlソース*/ <li class="tmenu01"><a href="sample">はじめに</a></li> /*cssソース*/ li.tmenu01 { display:block; width:126px; height:31px; background:url(image/menu01.gif) no-repeat; text-indent:-9999px; float: left; } しかし、text-indent:-9999px;とfloat: left;をいっしょに使用すると、背景画像・文字とも表示されなくなってしまいます。 いろいろネットを調べてみたのですが、文字を飛ばす+横並びのバージョンの解決方法が見つからず、方法がわかりません。 いい方法がありましたら、どなたか教えてください…m(_ _)m <li>をfloat,inlineさせたときのセンタリング スタイルシートを用いて、ナビゲーションバーを作っています。 リスト<li>をfloatさせて、横に長いものにしていますが、 1行では収まらないため、2行になっています。 リストにfloat:leftとinlineを指定することで、普通のテキストのように<div>ボックス内に流し込んで、端でいっぱいになったところで自動的に改行させています。 <div id="header"> <ul id="navi"> <li>トップ</a></li> <li>ページ1</li> <li>ページ2</li> <li>ページ3</li> </ul> </div> #header #navi li{ float:left; display: inline; } 実際には10個ぐらいあるのですが、説明のため上のように4つのアイテムがあるとして、説明すると、今は トップ ページ1 ページ2 と表示され、次の行で、"トップ"の左側に揃って ページ3 が表示されます。 やりたいことは、1行目のちょうど真ん中、(この場合"ページ1"の下あたり)に"ページ3"を表示させたいのです。 #header{ text-align:center; } または #header ul{ text-aligne:center; } で良いのかと思ったのですが、うまくいきません。 こういったことはできるのでしょうか? そもそも、やり方がまちがっていますか? <li>に対してfloatを解除すると、センタリングされるのですが、<li>同士の間にスペースが出来てしまいます(バックグラウンドに色が付いているので)。どちらかというとこちらをなんとかするようにしたほうがいいのでしょうか? float:leftで<li>要素を横並びさせてから、中央揃えする方法は? HTML <dir id="footer"> <ul> <li>個人情報保護方針</li> <li>サイトマップ</li> <li>組織概要</li> <li>お問い合わせ</li> </ul> </dir> CSS #footer ul li{float: left;} 上記の場合、li要素は横並びするのですが、 <div>要素の中で中央揃えするには どうしたらいいのでしょうか? liタグの自動改行をやめたい! はじめまして。 liで横並びにしていると長い単語などは横幅に入りきらない場合自動的に頭文字から改行されてしまいます。 これを改行通常のテキストのように自動的に頭からは開業させずに、途中から改行されるようにしたいのですが、どうすればいいのでしょうか? どうかよろしくお願いいたします。 <li>で改行する横並びのメニュー <ul><li>を使って横並びのメニューを作っています。項目が増えると横幅いっぱいになるためメニューが2行になるのですが、項目の途中で改行されて困っています。 │●リンクA ●リンクB ●リンクC ●リン│←ページ右端 │クD ●リンクE 項目の途中で改行せずに↓こうしたいと考えています。 │●リンクA ●リンクB ●リンクC │←ページ右端 │●リンクD ●リンクE リストタグを使わずに<br>で改行を入れる方法は使いたくありません。いい方法をご存知の方がいましたら教えてください。よろしくお願いします。 <li>の横並びで、<span>のところで改行 <li>をfloatで横並びにした場合、IE7のみ、<span>のところで改行されてしまい、最後の部分だけ以下のようになります。 ddd ( xx x ) IE8やそれ以外のブラウザは<li>のところで改行され、以下のようになります。 aaa ( xxx ) bbb ( xxx ) ccc( xxx ) ddd ( xxx ) どのようにすれば、IE7も<li>のところで改行され他と同じようになりますか。 実際にはaaa,bbb,xxxの文字などはもっと長いものでたまたま画面右端ぎりぎりにdddまで表示され</span>が区切りになって( xxx )の部分がddd下部に縦に3段くらいで表示されます。 IE8や、他のブラウザは、ddd ( xxx ) がセットで画面に収まらないので、<li>でおりかえされており、このようになってほしいのですが。 よろしくお願い致します。 <ul class="list"> <li><a href="a.html"><span style="color: #cccc99">aaa</span> ( xxx )</a></li> <li><a href="b.html"><span style="color: #cccc99">bbb</span> ( xxx )</a></li> <li><a href="c.html"><span style="color: #cccc99">ccc</span> ( xxx )</a></li> <li><a href="d.html"><span style="color: #cccc99">ddd</span> ( xxx )</a></li> </ul><div style="clear: left;"></div> ul.list{ list-style:none; width:100%; margin: 0 0 .8em 0; padding: 0; } ul.list li { float:left; display: inline; margin-right:.7em; } float横並びにしたブロックの中のul/liを縦並びにさせたい float leftで横並びさせている中でul/liを縦並びにさせたい。現在はすべて横並びしてしまう。 (html) <div class="base"> <div class="box1"> <a href="#"><img src="#" alt=""></a> </div> <div class="box2"><img src="images/spacer.gif" width="1" height="1" alt=""></div> <div class="box3"> <ul class="list-y"> <li>ああああ</li> <li>いいいい</li> <li>うううう</li> <li>ええええ</li> <li>おおおお<a href="#">かかか</a></li> </ul> </div> </div> (css) ul{ margin: 0; padding: 0; list-style-type: none; text-decoration: none; display: block; } li { margin: 0; padding: 0; display: inline; } .base { width: 618px; height: 100px; margin: 0; padding: 8px 10px 0 10px; text-align: left; line-height: 1.5em; background-image: url(../images/content_bg.gif); background-repeat: repeat-y; } .base .box1 { width: 130px; height: 97px; margin: 0; padding: 0; float: left; outline: solid 2px black; } .base .box2 { width: 2px; height: 100px; margin: 0 5px 0 10px; padding: 0; float: left; border-right: dotted 2px #ccc; } .base .box3 { margin-left: 157px; padding: 0; font-weight: bold; text-align: left; } .list-y{ clear: both; } CSSに疎いのでよろしくお願いいたします。 css の float:left; を li 適用 css の float:left; を li に適用すると <ul> <li>AAA</li> <li>BBB</li> <li>CCC</li> </ul> ●AAA●BBB●CCC のような横並びにできます <ul> <li>AAA</li> <li>BBB <ul> <li>aaa</li> <li>bbb</li> </ul> </li> <li>CCC</li> </ul> このように入れ子の場合 ●AAA●BBB ●CCC □aaa□bbb のように表示されます これを ●AAA●BBB●CCC □aaa□bbb のように、一段目に間を空けないで表示する CSS の設定を教えてください よろしく、お願いします cssでテキストを内容ごとに3つ横並びにしたいのですが、floatなど cssでテキストを内容ごとに3つ横並びにしたいのですが、floatなどではうまくいかずこまっています。 2カラムのレイアウトにしたあとに、テキストを横並びに3つしてみたいというような感じです。 リストタグを使ってレイアウトするべきでしょうか? この場合、<div>タグの中にIDを設定してもうまくいきません。 初心者なので、なにかよい方法があったら教えてください。 レイアウトのイメージは添付画像にしてあります。黒い四角のところがテキストのまとまりだと考えてください。 メニューの横並びで改行されてしまう。 ul li を使用して、横並びのメニューを作成したいのですが、 最後の項目が、横に並びきれなくて、下の段に移ってしまいます。 border幅や、marginも計算してpxで指定しているつもりですが、上手くいきません(TдT) 何故ですかね? HTML <body> <div id="wrapper"> <header> <nav> <ul> <li><a href="#">about</a></li> <li><a href="#">information</a></li> <li><a href="#">party</a></li> <li><a href="#">access</a></li> <li><a href="#">contact</a></li> </ul> </nav> </header> <!-- /wrapper --></div> CSS #wrapper { width: 985px; margin-top: 0px; margin-right: auto; margin-bottom: 0px; margin-left: auto; } nav ul { list-style-type:none; } nav li { float:left; width:190px; border: 1px #ffb366 solid; text-align:center; margin-right:5px; } <li>による横並びメニューの記述法 こんにちは。 CSSで<li>を使って横並びメニューを作っているのですが、メニューのイメージとイメージの隙間を空けるにはどうすればよいのでしょうか? 現在の記述はこうです。 -----------------html------------------------ <div id="menu"> <ul> <li id="menu01"><a href="index.html"></a></li> <li id="menu02"><a href="business.html"></a></li> </ul> </div><!--menu--> -----------------css------------------------ #menu ul{ margin:95px 0 0 25px; padding:0; width:100%; float:left; list-style:none; } #menu ul li { float:left; } #menu ul a{ text-decoration:none; display:block; width:125px; height:30px; } #menu ul a:hover{ text-decoration:none; display:block; width:125px; height:30px; } #menu01 a{ background-image:url(img/menu01a.gif); background-left:0 0; } #menu01 a:hover{ background-image:url(img/menu01b.gif); background-position:0 0; } #menu02 a{ background-image:url(img/menu02a.gif); background-position:0 0; } #menu02 a:hover{ background-image:url(img/menu02b.gif); background-position:0 0; } 現状だと、画像(menu01.gif)と画像(menu02.gif)がどうしてもつながってしまうんです。 どなたかご教授いただけませんでしょうか。 よろしくお願いいたします。 IE7でfloat:leftが効かない問題 表題の件でご質問がございます。 現在 <ul> <li><img src="XXX" ></li> <li><img src="XXX" ></li> <li><img src="XXX" ></li> </ul> と <div>YYYYY</div> <div>YYYYY</div> <div>YYYYY</div> の二通りで<li>と<div>にclassを設定し、 .list {float:left;} と設定しているのですが 全て縦に並んでしまいます。 chrome safari IE8,9 firefoxでは全て狙い通り水平型リストになっているのですが IE7のみうまく行きません。 どなたかご教示戴ければ幸いでございます。 CSS li float 2列組み 写真とテキストの入った<div>をliでfloat:left指定して ■■ ■■ ■■ のように2列に表示させました。 <li> <div> 写真とテキスト </div> </li> これを繰り返す ただテキストの量によって ■■ ■ ■ ■ のように崩れてしまうことが分かりました。 何か良い方法はないでしょうか? よろしくお願い致します。 CSS で li を float させる方法 リスト項目を横並びにfloatさせたいいんですが、 li {list-style:none url(../image/icon/article.png) inside;} と指定すると、floatできないようです。 どうすればlist-styleを指定したliをfloatさせることできますか? コートは以下のようにしています。 よろしくお願いします。 【HTML】 <div class="YYY"> <ul> <li class="movie"><a href="">MOVIE</a></li> <li class="photo"><a href="">PHOTO</a></li> </ul> </div> 【CSS】 .YYY {margin:10px 0;} .YYY ul {margin:0px;padding:0px;} .YYY li.photo {float:left;list-style:none url(photo.png) inside;} .YYY li.movie {float:left;list-style:none url(article.png) inside;} 横並びリストでの改行 リストをcssでフロートで横並びにした場合の話ですが、 たとえば、項目が5つあって、liのwidthを指定せずに500pxのボックスの中に横並びにすると、5つの合計の幅が500pxでおさまる場合は問題ないのですが、おさまらない場合、IEで項目の途中で改行されてしまいます。 li { white-space: nowrap; } で改行させないようにすることはできるのですが、これだと、1項目の中身が500pxを超えてしまうような長文の場合、逆に突き抜けてしまい困っております。 何かよい方法があればご教授いただけると助かります。 ヘッダ(横並び)の作り方について 横並びメニューのヘッダーを作る例として、<div1>Text</div1><div2><ul><li></li><li></li></ul></div2>という構成※divの数字は便宜上で、cssで<li>&<div1>&<div2>にfloat:left指示する物ががありましたが、<div2>のfloat leftの役割が分かりません。 宜しくお願いします。 <li>タグの隙間が消えない cssでhtmlのレイアウトを調整し、float:left;で<li>タグを水平方向に並べています。 この時、「見た目では隙間は埋まっている」のですが、onmouseoutの処理を記述している場合、どうしても<li>タグの間に見えない隙間が生じて、そこにマウスカーソルを合わせるとonmouseoutの処理が走ってしまいます。 この見えない隙間は埋められるのでしょうか? 詳しい方、よろしくお願いします。 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; } ウィンドウを縮小しても横並びのままにはならないのでしょうか?まだまだ勉強途中なのでわかりやすく教えて頂けるとありがたいです。 リストを横並びにするとマーカーが消える(IE) cssデザインをしているのですが、<ul><li></li></ul>タグで箇条書きを使っています。これをfloatで横並びにさせたのですが、IEで見たとき横に表示されるべきマーカーが消えてしまいます。これの対処法を教えていただけませんでしょうか?画像で置き換え以外の方法でお願いします。 <li>タグでメニューを作った場合 横並びでサブメニューがあるメニューを以下の様に作成しました 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 li a{ 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; } これですと添付画像の左のようになってしまいます。 サブメニューの長さに関係なく、右のようにメニューを詰めることは可能ですか 注目のQ&A 「前置詞」が入った曲といえば? 新幹線で駅弁食べますか? ポテチを毎日3袋ずつ食べています。 優しいモラハラの見抜き方ってあるのか モテる女性の特徴は? 口蓋裂と結婚 らくになりたい 喪女の恋愛、結婚 炭酸水の使い道は キリスト教やユダヤ教は、人殺しは地獄行きですか? カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど
お礼
ありがとうございます。 解決いたしました。