• ベストアンサー

pタグとliタグ

<p>説明</p> <li><a href="・・・">説明</a></li> とした時に2度改行されてしまうようで、 pタグとリスト項目の間が1行空いてしまいます。 ちょっと間抜けな様な気がしているので 間を詰めたいのですが(改行しないようにしたい) CSSでないと無理な気がしています。

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

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

>traditional自体がなくなるって事は当然これも消滅ですね。 >後、framesetがあるようですが、これも時代の流れで消滅でしょうか。  既存のページは、そのままで良いです。HTML4.01だけでなく、HTML3.2もHTML2.0も今でも有効です。  しかし、将来的な保障はありませんが、ブラウザは古い仕様にも対応することが求められていますから、ブラウザで見る限りにおいては、問題ないでしょう。 一方で、ユーザーエージェントは古い要素や属性をサポートし続けなければなりません。 【引用】____________ここから 一方で、ユーザーエージェントは古い要素や属性をサポートし続けなければなりません。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[HTML5 における HTML4 からの変更点( http://standards.mitsue.co.jp/resources/w3c/TR/html5-diff/#backwards-compatible )]より  HTML5では、 【引用】____________ここから HTML5 では、製作者のためオーサリング言語をシンプルにした結果、表象的な要素をはじめとするいくつかの要素や属性が含まれていません。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[HTML5 における HTML4 からの変更点( http://standards.mitsue.co.jp/resources/w3c/TR/html5-diff/#backwards-compatible )]より 3.3. 変更された要素 ( http://standards.mitsue.co.jp/resources/w3c/TR/html5-diff/#changed-elements ) 3.4. 変更された属性 ( http://standards.mitsue.co.jp/resources/w3c/TR/html5-diff/#changed-attributes ) 3.5. 不在の要素 ( http://standards.mitsue.co.jp/resources/w3c/TR/html5-diff/#absent-elements ) 3.6. 不在の属性 ( http://standards.mitsue.co.jp/resources/w3c/TR/html5-diff/#absent-attributes ) を読めば一目瞭然です。frameもなくなります。 >traditional自体がなくなるって事は当然これも消滅ですね。  はい。  実は、HTML4.01(1999年12月24日付W3C勧告--12年も前!!!)でも 【引用】____________ここから しかしながら、より強力なプレゼンテーション機構をスタイルシートが提供するため、World Wide Web Consortium は、HTMLのプレゼンテーション関連要素・属性を、段階的に縮小させていくこととする。 本仕様において、【将来削除される】危険のある要素及び属性については、 「推奨しない」と記してある。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Introduction to HTML 4 (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/intro/intro.html#h-2.3.5 )]より と、随所で「(将来廃止される予定なので)推奨しない」と書かれていたのに、いまさら言われても・・・(^^) ★HTML5では、明確に「著者が使えるもの」「ユーザーエージェントがサポートしなければならないもの」と、より厳しい言い回しになりました。単に厳しくなっただけで、大きな変更は無いです。よって、今後書くなら、HTML5が正式勧告となり、多くのユーザーエージェントが対応を完了するまでは、HTML4.01strict,XHTML1.0strict,XHTML1.1が無難かと・・

noname#147836
質問者

お礼

12年も前から非推奨だったんですか・・・ その時僕は小学生だから知る由もないですけど。 今までけっこういい加減だったんですね。 だからlooseだったのか・・・

その他の回答 (2)

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

修正して、 <p>説明</p> <ul> <li><a href="・・・">説明</a></li> <li><a href="・・・">説明</a></li> </ul> >2度改行されてしまうようで、 は、間違った認識です。HTML(4.01)を作成するとき大事な知識に、ブロック要素とインライン要素の区別がまず必要です。  p(段落)もulもブロック要素ですから、ブラウザはふたつのブロック間を広げて描画します。  これはpを二個連続しても、その間がひらいてひょうじされることと同じです。日本語に限らず、段落は、ひとつのテーマについて語られる一個以上の文を含みます。それは、段落内では、一行の時数にしたがって「折り返されます。」--改行ではありません。  また、日本語では、段落間にスペースをおく表記はせず、段落の境界は字下げで示します。  そのため、日本語の記事を書いてあるHTMLの場合、その見栄えはスタイルシートで調整すると良いです。 ・・・くれぐれも改行とは異なることを忘れないように・・・ 下記はHTML4.01strict(厳密型)のサンプルです。ほほまもなくHTML5の時代になります。transitinal(移行型)は存在しません。strictでHTMLを書き、スタイルシートで見栄えを調整する練習しましょう。【必須です】 ★Another HTML-lint gateway ( http://openlab.ring.gr.jp/k16/htmllint/htmllint.html ) ★W3C CSS 検証サービス ( http://jigsaw.w3.org/css-validator/#validate_by_input )  これらのサイトでチェックし、指摘されたことを少しずつ直していくのが上達には良いでしょう。  また、「はじめてのWebドキュメントづくり ( http://www.asahi-net.or.jp/%7Esd5a-ucd/www/ )」のようなサイトで、ただしい方法をまず身に着けてください。 ※下記ソースの_タブに変更して確認してください。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> _<meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> _<title>サンプル</title> _<meta name="author" content="ORUKA1951"> _<meta http-equiv="Content-Style-Type" content="text/css"> _<link rev="made" href="mailto:oruka1951@hoge.com" title="send a mail" > _<link rel="START" href="../index.html"> _<style type="text/css"> <!-- p{ _margin:0; _line-height:1.6em; _text-indent:1em; } ul{margin: 0.5em 0 0.5em 4em;/* 上 右 下 左 */} --> _</style> </head> <body> _<h1>サンプル</h1> _<p> __下は箇条書きのサンプルです。<br>ここで強制改行されています。 _</p> _<p> __ここは、次の段落ですが、強制改行はしていません。よほどのことがなければ、強制改行の&lt;br&gt;は使うことはありません。通常の文書では登場することは極めてまれです。しかし、日本語の通常の表記法では段落間をつめます。かといって単純に間をつめると、日本語のフォントが大きいため今度は読みづらくなります。 _</p> _<p> __そこでスタイルシートで、段落のマージン(margin)をつめ、一行の高さ(line-height)を調整し、段落の最初を一文字字下げ(text-indent)します。 _</p> _<ul> __<li>ここは箇条書きの内容</li> __<li>ここは箇条書きの内容</li> _</ul> _<p> __このように、HTMLでは文書の構造をマークアップ、タグで囲み。見栄え(プレゼンテーション)はスタイルシートで指定します。 _</p> </body> </html>

noname#147836
質問者

お礼

ご回答有り難うございます。 改行という認識がそもそも間違いだったんですね。 pもulもliもブロック要素なのは知っていましたが、 CSSがイマイチ勉強不足ですね。 HTML5.0でstrictが当然の時代になって来るということは looseを使わない方がいいのでしょうか?何かの事情でlooseにしています。 もう忘れてしまったのですが、たしかレイアウトの関係だったと思います。

noname#147836
質問者

補足

確認してみましたが、やはり↓でした。 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> traditional自体がなくなるって事は当然これも消滅ですね。 後、framesetがあるようですが、これも時代の流れで消滅でしょうか。

回答No.1

失礼ながら、もう解説して差し上げる気力がなくなるほど根本的にいろいろ間違ってます。 タグの意味についてきちんと調べて理解しましょう。

noname#147836
質問者

補足

済みません。<ul>タグが抜けていました。 でも、これだけではないって事ですよね。 リストはブラウザに意図通りに再現されています。 質問内容のところで少し迷っているのですが。 根本的におかしいのなら直したいので ご指摘お願いします。

関連するQ&A

専門家に質問してみよう