• ベストアンサー

HTMLで改行しない表示方法を教えてください

HPを自分で作ろうと,最近HTMLの勉強を始めた全くの初心者です. 文字を表示させようとして <h3>1行目です</h3> <h3>2行目です</h3> とすると, ========= 1行目です 2行目です ========= のように,1つ目の表示と2つ目の表示に1行の空白行が入ってしまいます. (1)続けて(空白行なしで)表示する方法を教えてください. (2)ついでに,2つの表示実行で ========= 1行目です2行目です ========= という表示はできるのでしょうか? 全くの初心者の質問で申し訳ありません. よろしくお願いします.

noname#186677
noname#186677

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

  • ベストアンサー
回答No.2

結論から言えば、それはできません(できてもやらない方が良いです)ということになります。 よく言われることですが、htmlで使うタグは、単に、「これを使うとこういう見栄えになる」という意味のものではありません。 この例の、<h1> <h2> などは、「ヘッダ」というもので、文章(あるいは、章や節)のタイトルを記述するものです。 なので、そもそも、<h3> (3レベルのヘッダ)が2つ(その間に何もなく)連続することはないのですね。 (まるで、「第2節」と「第3節」が、間に何の文章もなく続いているようなものです。 というわけで、文字の修飾をするのが目的なら、それなりのタグ(<font とか、今でも普通に使えるのかな?)を使うか、あと、スタイルシートというものを学ぶと良いかもしれません。

noname#186677
質問者

お礼

早速 回答をいただき,ありがとうございました. h1~は「文字サイズを変えて,テキストを表示する」と思いこんでいました. 「h はヘッダー」という説明をしていただいて,何を勘違いしていたか,よくわかり,納得しました. (参考書には回答いただいたような説明ではなく?,表示文字の大きさの種類の説明でした)  *** やはり初心者は怖いです  *** 内容と意味を初心者にもよくわかるように説明していただき,ありがとうございました. 「こういうものだ」という頭ごなしの説明ではなく,「こういう理由だから,こうした方がいい」 という説明をいただき,内容がすっきり頭に入りました.感謝しています. また,初歩的な質問があるかもしれませんが,どうぞよろしくお願いいたします. ありがとうございました.

その他の回答 (2)

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

すでに本質は、No.2さんの回答があるようですが、あえて説明しておきます。とっても時有用なことなので、耳が痛くてもこれを理解しておかないと先に進めないですから。  HTMLは、その名前-Hyper Text Markup Language--が示すように、文書を構成要素に分解して、それぞれがどんな要素であるかをマークアップしていくメタ言語の一種です。  h1~h6は、heading --見だし--を表します。これらは、HTML4.01ではあまり明確には示されていませんでしたが、文書やセクションの見出しを表します。ワープロなどでは、少し大きめな太字で指定する部分ですが、HTMLはそれが機械にもわかるようにその階層--レベル--によって<h1>~<h6)でマークアップしておきます。  それをどのように表現--プレゼンテーション--するかは、利用しているブラウザなど別の仕組みに負かされています。たとえば、読み上げソフト--スクリーンリーダー--でしたら、ちょっと強い語調で読み上げるでしょう。  本題に移ります。本来は、見出しが複数並ぶことはありません。HTML5の書き方だとわかりやすいのでそれで示しますが <section>  <h2>見だし</h2>  <section>   <h3>見だし</h3>   この項の記事  </section>  <section>   <h3>見だし</h3>   この項の記事  </section> </section> と、同じレベルでしたらセクションも並列なはずです。 本来はありえないのですが、 <section>  <h2>HTMLについて</h2>  <h3>要素とは</h3>   この項の記事 </section> <section>  <h2>HTMLについて</h2>  <h3>属性とは</h3>   この項の記事  </section> </section> のようにしたい場合はあるでしょう。HTML5では、わざわざ <section>  <hgroup>   <h2>HTMLについて</h2>   <h3>属性とは</h3>  </hgroup>   この項の記事  </section> </section> <section>  <hgroup>   <h2>HTMLについて</h2>   <h3>属性とは</h3>  </hgroup>   この項の記事  </section> </section> としなければならなくなります。 (注)HTML4.01では、<section>は、<div class="section">と書きました。 質問への回答です。  ふたつの見出しがひとつの見出しであって、かつ強制改行したい場合は、 <h3>見だし<br>見出しの続き</h3>  でしょう。 <h2>見だし</h2> <h3>小見だし</h3> でしたら、スタイルシートで h2+h3{margin-top:0;} h2にすぐ続いた隣接したh3に関してはマージンをゼロにする。 (注)HTML4.01では、セクションと言う考え方がないので、この様な書き方をしても良い。 時々あるのですが <h3>見だし</h3><!-- 内容はまだ書いていない --> <h3>次の章の見だし</h3> 記事 と言う場合は、h3+h3{margin-top:0;}です。 ★本題とはまったく別ですが、ブラウザで日本語を表示する場合の特性があります。  英文では日本語のように段落の変わり目で、段落最初の文字をインデントさせる(字下げする)ことはありません。  変わりに段落の変わり目で、最初の文字を大文字にしたり、ドロップキャップさせたり、スペースをとりますね。 p:first-letter { font-size: 200%; float: left }  一方日本語では、段落間にはスペースをとりませんから行間が詰まってとても読みにくくなります。そこで h1,h2,h3,h4,h5,h6,p{margin:0;line-height:1.6em;} p{text-indent:1em;} のように、マージンはゼロにして、line-heightとtext-indentで指定するほうが日本語の文章には好まれるでしょう。 質問タイトルの、本来はブロックである要素を改行させない方法・・ (注) ブロックと行内要素の区別は重要です。( http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/struct/global.html#h-7.5.3 ) は、もちろんあります。HTML上--文書構造上はふたつの見出しなのですが、あえて並べて表示させたい場合は、 <h3>見だし</h3> <h3>つづく</h3> <p>記事</p> というHTLに対して h3{margin:0;line-height:1.6em;float:left;} h3+p{clear:left;} とすれば、可能ではあります。

noname#186677
質問者

お礼

早速 回答をいただき,ありがとうございました. h1~は「文字サイズを変えて,テキストを表示する」と思いこんでいました. 丁寧な回答例と,日本文字,英文字の表示方法も教えていただき,ありがとうございます. 基本的に私は間違った使い方をしようとしていたので,初心者らしくまともな方法を勉強 していきます. 後半の回答記事も,今後の改行のコントロールに使えるかもしれませんので?,参考に させていただきます.(初心者なので,十分理解できていませんが)  また,初歩的な質問があるかもしれませんが,どうぞよろしくお願いいたします. ありがとうございました.

回答No.1

======================== <h3>1行目<br>2行目</h3> <h3>1行目です2行目です</h3> ======================== こういうことですか?

関連するQ&A

  • HTMLのh1タグで自動的になされる改行の防止

    HTMLのh1タグを使うと</h1>の次で自動的に改行されます。例えば、次のようにすると、「夏休み」と「キャンプ」の間に空白行が1行できます。 <h1> 夏休み </h1> キャンプ この空白行をなくするためにはどうしたらよいでしょうか。 よろしくお願いします。

  • HTMLで開いたsrcの改行コードを調べる方法を教えてください

    cgiでHTMLを作成していますが、cgiを実行した時に HTMLで改行が2個入ってしまいます。 unix上のファイルをfgetsにて1行ずつ読み込んで そのまま出力しています。 改行コードを削除したいのですが、 表示しているHTMLのsrc内にある改行コードに何(どの改行コード)が入っているのか分からず、削除できません。 (fgetsで読み込んだ1行の最後に"\0"が入っていると思って、それを削除してみたのですが、駄目でした。このやりかたは間違えていますか?正しい方法を教えてください。) 宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • HTMLでファイルを表示

    最近HTMLを勉強し始めてわからないことがあるので教えてください。 ワードやメモ帳で文字だけの中身のファイルを作ったのですが、そのファイルをHTMLの中で○○.txtなどと呼んで中身を表示させることはできますでしょうか?

    • ベストアンサー
    • HTML
  • IE7 を使ったHTMLの表示方法

    とってもレベルの低い質問で申し訳ないです。 久しぶりにHPづくりに励んでみようと思い、数年前に使っていたHTML入門の本で再度勉強中のものです。 ただ、HTMLをメモ帳に打ち込み、index.html としてinternet explore7 で表示させようとしたところ、打ち込んだソースそのものが表示されてしまいました。 例えば、 <html> <head> <title>久しぶりのHP</title> </head> <body> 久しぶりホームページです。 </body> </html> と打ち込んだソースそのものがIE画面に表示されるといった形です。 二年前に同じ作業をしたときは、きちんとWEBページっぽく表示されていたと思うのですが、私は重大なことを抜かしているのでしょうか??? どなたか返答をお願いします。

    • ベストアンサー
    • HTML
  • 《初心者です》HTMLの改行無効化について教えてください。

    現在HPを作成中なのですが初心者的質問で 申し訳ないです。お暇な方いらっしゃいましたら 教えてください。 同じ行の中に『右詰め』と『左詰め』を同居(?) させたいのですが、『<DIV ALIGN="LEFT">文字列</DIV> <DIV ALIGN="RIGHT">文字列</DIV>』 このような記述にすると改行されてしまいます。 何か良い手法はないでしょうか? 宜しくお願いします。

  • 改行を読み飛ばす

    以下のようなファイルを読み込みたいのですが…. -------------------------------------------------- あいうえを かきくけこ さしすせそ たちつてと -------------------------------------------------- のように1行文字列があって,1行空白行(改行のみ)があって…のような繰り返しのファイルなんですが,空白行を読み飛ばして続けて -------------------------------------------------- あいうえお かきくけこ さしすせそ たちつてと -------------------------------------------------- のように表示させる場合はどのように書いたらよいですか? -------------------------------------------------- while(fgets(str,256,fpin)){   if(strcmp(str,"\n")!=0){    printf("%s\n",str);   } } -------------------------------------------------- と書いたのですが,空白行も表示されてしまいます. 何か間違えているでしょうか? それとも実はファイルの空白行は改行じゃないとかでしょうか?

  • 改行マークも貼り付けるHTML言語は?

    ●やや長い文章をワードのファイルから貼り付けてホームページを作成したいのですが、HTML言語のどういうコマンドを使用したらよいでしょうか? 但し、<BR>コマンドをいちいち挿入せず、スペースも改行マークも、ワードの文章のとおりとしたいのです。<PRE>コマンドがそれらしいので、やってみましたが、ダメでした。 ●HTML言語で文章の文字間隔と行間隔を変えるには、どういうコマンドを使用すればよいですか? ●HTML言語のソースにある今は未完成で表示したくない文字は、どうやって非表示にすればよいでしょうか?ちなみに、<!P>をいれてみましたが、ダメでした。 よろしくお願いします。

  • HTMlのソースのかきかたについて

    HTMLの書き方について(初心者)お願いします。色々とWEBを調べたのですが、どうしてもうまく書いてあるものがみつからず、納得ができない状態のため、コチラに書き込みをしております。初心者で技術者向けのページに投稿するのは大変申し訳ないと思います。とっても初歩的なことをお伺いしてしまいますが、是非ともよろしくお願い致します。 最近、ホームページの勉強を初め、仕事でもほんの少しですがHTMLを使うようになりました。まだリンクを貼ったり、文章を修正する程度ですが。。。 ずっと疑問がございます。なぜ、HTMLは左はじに合わせて書かないのでしょうか? どのソースを見ても決して <。。。。。。> <。。。。> <。。。> といったように左端にぴたりとそろっているものはありません。 大体が下記のように <div id="header">  <p><a href="/"><img src="/common/images/logo.gif" width="313" ></p>             <div class="guidance"><a href="#contentsStart">ページの本文に移動する</a></div> なんかずれています。たまに一行あいているときもあります。 質問ですが、 1)これはなぜこのように書くのですか? 2)規則性はあるのですか?(自分がHTMLを書くときはどのようにしたら良いのでしょうか・・・規則性があればそのように気をつけて書くのですが・・・法則がわからないのでどうしても困っております)また、このような書き方の支援をしてくれるフリーソフト(HTMLエディタと言うのでしょうか)でお勧めがあれば合わせてお願いします。 3)上記で言うと、<div・・・・>の前のようなスペースや空白を入れるときは、TABキーでよいのでしょうか?それとも半角キーですか?全角キーは確かスペースとして読んでしまうと聞いたのですが。 4)<>と<>の間は空白を空けるとエラーで読んでくれないことがあったのですが、あけるべきときもあるのですか?例えば、 </a>●<ul>というように(●を空白とする) 是非とも御教示お願い致します。

    • ベストアンサー
    • HTML
  • HTMLでリンクが表示されないのはなぜ?

    パソコン初心者です。HTMLで<a href="○○"></a>を入力してもリンクが表示されません。他のページではうまくいっていますが、できないページがあります。  うまくいく場合は、入力時に<a href="○○"></a>や他の命令文も赤や青で表示されますが、うまくいかない場合のページの字は全部黒くなっています。これが原因でしょうか?  もしそうであれば解決方法と、文字が黒くなるのは何の為なのかも教えて頂けると助かります。  他に原因があるのであれば、その解決策もご教授下さい。  拙い説明で申し訳ありません。そしてできれば初心者向けの説明でお願いします。

  • HTMLタグで困ってます・・・・

    私が困っているのはHTML方式でHPを作っているときに少し感覚をあけたいと思ったのですがあけられなくてこまってます。例を挙げてみると。「テスト」「」の中に入れた文字を2スペース分あけたとき「  テスト」のように文字を打つ前に少し空白のスペースがほしいのですがどうすればよろしいでしょうか?

専門家に質問してみよう