• ベストアンサー

<ul>~</ul>が二つ続くと間に改行ができてしまう

<ul>~</ul>について質問です。下記のようなソースがあるとします。 ----------------ソース---------------- <h3>あいうえお</h3> <ul type="aaa"> <li>あああ</li> <li>いいい</li> <li>ううう</li> </ul> <h3>あいうえお</h3> <ul type="bbb"> <li>あああ</li> <li>いいい</li> <li>ううう</li> </ul> ------------------------------------ と書くと、下のように表示されますが、 ★★の部分に改行が出来てしまいます。 この改行を出さないようにする方法はないでしょうか? ----------------表示---------------- あいうえお 1.あああ 2.いいい 3.ううう ★★ あいうえお 1.あああ 2.いいい 3.ううう ------------------------------------

  • HTML
  • 回答数3
  • ありがとう数1

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

普通に書けばこうかな <style> h3{ margin:0px; } ul{ margin-top:0px; margin-bottom:0px; } </style> <h3>あいうえお</h3> <ul> <li><span>あああ</span></li> <li><span>いいい</span></li> <li><span>ううう</span></li> </ul> <h3>あいうえお</h3> <ul> <li><span>あああ</span></li> <li><span>いいい</span></li> <li><span>ううう</span></li> </ul>

その他の回答 (2)

回答No.2

★★部分は改行(空行)ではなくマージンです。上にある<ul>と<h3>の両方に上下のマージンがあるため、両方を詰めないとどちらかが生き残ります。 <h3>あいうえお</h3> <ul type="aaa" style="margin-bottom: 0px;"> <li>あああ</li> <li>いいい</li> <li>ううう</li> </ul> <h3 style="margin-top: 0px">あいうえお</h3> <ul type="bbb"> <li>あああ</li> <li>いいい</li> <li>ううう</li> </ul>

回答No.1

動作確認はしていませんがtable-cellとinlineを使えばできると思います。 <div style="display:table;"> <h3 style="display:table-row;">あいうえお</h3> <ul type="aaa" style="display:table-cell !important;display:inline;"> <li>あああ</li> <li>いいい</li> <li>ううう</li> </ul> <h3 style="display:table-cell !important;display:inline;vertical-align:bottom;">あいうえお</h3> </div> <ul type="bbb"> <li>あああ</li> <li>いいい</li> <li>ううう</li> </ul>

関連するQ&A

  • ulとulの間が空いてしまう

    http://www.ana.co.jp/asw/index.jsp こういったメニューが作りたいのですが <ul class="menu"> <li> <li> ... <ul> <ul class="menu"> <li> <li> ... <ul> こうやってやるとulとulの間に隙間が出来ます。 marginもpaddingも0です。 どうやったらいいでしょうか? CSSは下記です。 ul.menu { width: 750px; margin: 0px; padding: 0px; list-style-type: none; line-height:normal; } ul.menu li { line-height:normal; margin: 0px; padding: 0px; float:left; } 宜しくお願いします!

  • 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 の設定を教えてください よろしく、お願いします

  • <ul>は必要ですか?

    CSSを使ってなるべくHTMLのソースを減らそうと思い悪戦苦闘中です。 ■が画像だと仮定して書きます。 ■項目1 ■項目2 ■項目4 ■項目5 ■項目6 ■項目7 というような表示ができるようにしたいのですが、 CSSファイルに ul { list-style-image: url(img/mark.gif); vertical-align: middle; } と指定してHTMLには <ul> <li>項目1</li> <li>項目2</li> <li>項目4</li> <li>項目5</li> <li>項目6</li> <li>項目7</li> </ul> と書きました。そうすると表示が   ■項目1   ■項目2   ■項目4   ■項目5   ■項目6   ■項目7 と頭にスペースが入ってしまいます。(リスト項目なので当たり前なのかも知れないですが…) これをスペースをなくしたいのです。 そこで、<li>だけならどうだろうと思い、CSSを下記のように書き直し試したところスペースがなく表示出来ました。 li { list-style-image: url(img/mark.gif); vertical-align: middle; } <ul></ul>は必要でしょうか? それとも他に方法があればご教授下さい。私には上の方法しか思いつきませんでした。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • CSSでの<ul><li>を使った改行設定

    <ul><li>を使用して文章入れても、その文章が長いと改行した時に 文字の始まりから、表示できません。(<li>の背景に矢印等の見出しマークを使用) 見出しマーク+スペース+文字の始まり・・・で改行されても、2行めの始まりが1行目の始まりに合わせて設定する方法をご存じないでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • <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; }

    • ベストアンサー
    • HTML
  • CSS:<ul>と<li>の間に「<!--」と「-->」を入れる以外でナビが崩れない方法は?

    CSS:<ul>と<li>の間に<!--と-->を入れても、Dreamweaverでソースフォーマットの適用をおこなうとソースの改行が自動的に変わてしまうので、ナビゲーションの並びが崩れてしまいます。 適用は必要なので困っております。 ナビゲーションが崩れないほかの方法はないものでしょうか?

    • ベストアンサー
    • HTML
  • ソースの中で改行するには(CakePHPヘルパー)

    とても初歩的なことを質問します。 CakePHPのnestedListヘルパーで出力すると、ソースは一行で表示されてしまいます。 たとえば以下の場合、 echo $html->nestedList(array( $html->link($hoge1,'#1'), $html->link($hoge2,'#2'), $html->link($hoge3,'#3'), $html->link($hoge4,'#4'), )); ソース上では以下のように一行で出力されます。 <ul><li>ほげ1</li><li>ほげ2</li><li>ほげ3</li><li>ほげ4</li></ul> (もちろん、ブラウザ上ではなんの問題もありませんが...) これを <ul>  <li>ほげ1</li>  <li>ほげ2</li>  <li>ほげ3</li>  <li>ほげ4</li> </ul> このように改行とタブを入れてソースを整形したいのですが、どう書けばいいのでしょうか。

    • ベストアンサー
    • PHP
  • UL OL タグの使い方

    「以下」もわからずに <BR>以下としていますが、 以下と1.順序付きリスト...の間が開かないようにしたいのですが 良い方法はありますか? --------以下見え方 ----- ・順不同リストULタグ  以下 <-------------- ここに隙間をなくしたい。  1.順序付きリストolタグ 2.同じく --------ソース---------- <UL> <LI>順不同リストULタグ <BR>以下 <OL> <LI>順序付きリストolタグ <LI>同じく </OL> </UL>

    • ベストアンサー
    • HTML
  • html <ul></ul>の並びで一行空けたい

    htmlについて、初歩的かもしれませんが、お伺いします。 現在、<ul><li>を使って、リストを作成しています。 ですが、その途中に一行空けたい部分が何カ所かありまして、 <ul> <li>×××</li> <li>×××</li> <br> <li>×××</li> <li>×××</li> </ul> という感じで、組んでみました。 何の違和感もなく反映されるかと思いましたが、<br>が機能せずに、一行空かずくっついて表示されてしまい、不思議に思っています。 <ul>の中では、brは使えないのでしょうか? それとも、使えるけれど、何か他の要因があると使えなくなってしまうのでしょうか。 htmlは基礎的なことしか存じませんので、詳しい方や思い当たることをご存じの方にお答えいただけると助かります。 宜しくお願いします。

  • メールの先頭の改行

    mail()でメールを送信したメールを受けるとメールの本文の先頭に改行が入っているんですが、この改行を無くす方法はないでしょうか? その先頭の改行というのは必ず入るわけではなく、 http://ns103.net/ob/php-doc-j/function.mail.html の最初のソースのように単純なものなら改行は入りません。 Content-typeを指定したりすると改行が入ってしまいます。 改行が入る場合のソースを以下に書きます。 $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/plain; charset=\"iso-2022-jp\"\r\n"; $headers .= "From: Birthday Reminder <aaa@bbb.com>\r\n"; $headers .= "Cc: aaa@bbb.com\r\n"; $headers .= "Bcc: aaa@bbb.com\r\n"; $msg = "abc\ndef"; mail($mailad, 'subj', $msg, $headers); これをOEで受信すると、abcの前に改行が入っています。

    • ベストアンサー
    • PHP

専門家に質問してみよう