• 締切済み

htmlの基本的なことを教えてください

htmlを勉強中の者です。 一般のhtml入門書にあまり書かれてない基本的なことを教えてください。 以下のような事は当方の試験ではいずれも可能で一見正常に作動するのですが、正規のhtml書式から見て何か問題があるのでしょうか? 1.一つのhtmlファイルに<html>~</html>を兄弟要素として複数個配置することは可能である。(入れ子には出来ない) 2.<html>~</html>の内部に<head>~</head>および<body>~</body>を複数個配置することも可能。(入れ子には出来ない) 3.<head>~</head>内の要素は<html>~</html>の外部に配置しても、<body>~</body>内部に配置してもよい。 4.特に<style>~</style>は<body>~</body>内部に置いてもよい。(ある入門書によると<style>は<head>に配置して<body>内部には配置できないと書かれている) なぜこのような質問をするかと言いますと、Web Programmingでファイルに別のhtmlタグを挿入する場合が生じたからです。 よろしくお願いします。

  • HTML
  • 回答数4
  • ありがとう数4

みんなの回答

回答No.4

返信が遅くなりました。 私も大した知識が無いので...(補足を求めたのは他の回答者への助けになればということで;) 駄目な理由など厳密なことまでは書いていませんが参考までに。 http://w3g.jp/xhtml/guide/xhtml1-1_dtd ここからhtml要素,head要素,body要素についてを見られてみては如何でしょう。 他のページも含め、答えにはならないでしょうが、何らかのヒントにはなるかと思います。 (ルート関連など?) それでは、駄レス失礼致しました。

noname#100277
noname#100277
回答No.3

基本的にw3cやAnother HTML-lint gatewayでは文法上アウトに成ります。 http://validator.w3.org/ http://openlab.ring.gr.jp/k16/htmllint/htmllint.html 4に冠しては極めて難しいですね。 headセクションを編集出来ないサービスの場合は、body直下に置く事しか出来ませんからね。

kahata
質問者

お礼

このようなサービスがあるのですね。知りませんでした。 正規の文法にそぐわない書き方をしたときには、やはり、交通違反したような不安が残ります。 大いに活用させて頂きたいと思います。 ありがとうございました。

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

実利をとるか、文法をとるかの判断です。 初心者ということであれば、正しい文法で書くことを心掛けた方が よいのは自明ですが。 一般的には1~4はすべてNGです ただ4番あたりはCMSなど利用すると大本を直すことにより システムの整合性がとれなくなるリスクをにらんで、 たまに目をつぶってやってしまう場合があります (でもダメなものはダメ) >Web Programmingでファイルに別のhtmlタグを挿入する場合が生じたからです。 ということ自体がありえないでしょう。 それは仕様の決め方が間違えています。

kahata
質問者

お礼

ありがとうございます。 >初心者ということであれば、正しい文法で書くことを心掛けた方がよいのは自明ですが。 やらないほうがよいに決まっているところ、より深く理解するためにあえて質問しました。

回答No.1

> 当方の試験ではいずれも可能で一見正常に作動する どんな試験を行なったんですか? (DTD他内容やブラウザなど)

kahata
質問者

お礼

お礼というより補足訂正ですが、最後の<html>は</html>の誤りです。

kahata
質問者

補足

htmlの内容は以下のようなものです。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" > <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" /> <meta http-equiv="content-style-type" content="text/css" /> <title>HTMLタグ試験</title> <link rel="stylesheet" href="./style.css" type="text/css" media="screen" /> </head> <body> <h1> タイトル</h1> ...........(ここは普通のbodyの内容です)--------- </body> <html> 試験はWindowsXP(SP3) InternetExplorer 8(Version 8.0.6001.18702)で行いました。

関連するQ&A

  • 同一行の行頭と行末に2つの要素

    を配置するために以下のようにしましたが駄目でした つまり2つ目の要素が次の行になったのです どうしたらいいでしょうか? <html> <head> <style type="text/css"> <!-- .end { float:right } --> </style> </head> <body> <div> <span>行頭</span> <span class="end">行末</span> </div> </body> </html>

    • ベストアンサー
    • HTML
  • スタイルシートのタグの入る部分

    タグの本を読んでいたのですが、スタイルシートが推奨されるそうです。 私も使いたいんですが質問があります。 (背景) <STYLE type="text/css"> <!-- BODY { background-image : url(""); background-attachment: fixed; background-position: 100% 100%; } --> </STYLE> 一応HTMLの<body>タグの中に書いているのですが TEXTの場合 <STYLE TYPE="text/css"> #left {text-align:left;} </style> <body> <p ID="left">字</P> </BODY>  スタイルシートの<STYLE TYPE~>から</BODY> をそのままHTMLの<BODY>タグの中に貼り付けて良いんでしょうか? 個人的には<body>タグの中にまた<body>タグ!? もしかすると<STYLE>タグは<HEAD>タグの間に ソースの<BODY>タグの中身だけHTMLの<BODY>に貼り付けるのでしょうか?  もう一つ、先の背景と文字のスタイルシートを同時に使う場合 <STYLE>の中に背景と文字を一緒に書いていいのでしょうか? 自分としては<STYLE>タグが分かれているとバグらないか不安なんです。 まとめると (1) <HTML>   <HEAD></HEAD>   <body>      <STYLE>ソース(中に<BODY>タグがまだ入っている)</STYLE>   </BODY>   </html> で良いのか? (2)HTML>   <HEAD>  <style>~</style>の部分  </HEAD>   <body>      <STYLE>ソース<BODY>タグで囲まれた部分   </BODY>   </html> (3)二つのソースがあった場合   <style> ソースA と ソースB </STYLE>   <BODY>  ソースA ソースBのbody部分  </body> まとめて良いのでしょうか? ps まとめても、分けても WEB上にアップして見ても    普通に表示できました、でもどれかが無茶な(無理の、無駄のある)    文法だと思うんです。 解りづらい説明かと思いますが、アドバイス頂けませんか?

    • ベストアンサー
    • CSS
  • JS読み込み場所について

    JS読み込み場所について 下記のように聞いたのですが、 >>> <script>要素を記述する場所は、大きく以下のように分類できます。 (1)<body>要素の配下(任意の位置) <script>要素での処理結果を、ページに直接出力するために利用します。昔はよく見かけた書き方ですが、コンテンツとコードとが混在するのは、ページの可読性/保守性の観点からも望ましくありません。現在ではほとんど使われることはありませんし、また、一部の例外を除いては使うべきではありません。 (2)<body>要素の配下(</body>閉じタグの直前) 一般的なブラウザーでは、スクリプトの読み込みや実行が完了するまで、以降の描画を行いません。このため、読み込みや実行に時間がかかるスクリプトは、そのままページ描画の遅れに直結します。巨大なスクリプトがある場合にはなおさらです。 そこで、ページ高速化の手法としてページの末尾(</body>の直前)に、<script>要素を配置することがよく行われます。これによって、ページの描画を終えたあと、おもむろにスクリプトを読み込み/実行できるので、見た目の描画速度が改善します。 一般的に、JavaScriptによる処理は、ページがすべて準備できてから行うべきものであるはずなので、これによる弊害もほぼありません。 (3)<head>要素の配下 ただし、(2)でまかなえないケースがあります。JavaScriptでは、「関数(Chapter 4)を呼び出すための<script>要素よりも、関数定義の<script>要素を先に記述していなければならない」というルールがあるためです(関数の定義、呼び出しがひとつの<script>要素にまとまっていても構いません)。たとえば、<body>要素の配下で呼び出す必要があるような関数は、<head>要素の配下で事前に読み込んでおく必要があります。 また、スクリプトからスタイルシートを出力するような状況でも、本文の出力に先立って<head>要素の配下で<script>要素を記述すべきです。 まずは(2)を基本とし、それでまかなえない場合にだけ(3)を利用する、と理解しておけばよいでしょう(本書でもそのルールに沿っています)。くり返しですが、(1)を利用する状況は、外部のウィジェットを埋め込むなどの状況を除けば、ほとんどありません。(1)を使いたくなったら、まずはほかの方法でまかなえないかを検討すべきです。 改訂版JS本格入門より ・同じJSファイル内であれば関数の定義と呼び出しは順番はどちらでも良いが、 別ファイルとして<script>タグで読み込む場合は定義が入ったファイルが呼び出しのファイルより先に記載されていないといけないということでしょうか? ・ >>> たとえば、<body>要素の配下で呼び出す必要があるような関数は、<head>要素の配下で事前に読み込んでおく必要があります。 これは具体的にどんなケースだと思いますか? sectionなどのbody内の要素の高さをjqueryで取得設定するときなどで消化? ・最後に良くCSSを当てるjsがDOMを読み込み終わってから実行されてガッタンとなることがあるのですが、このような場合はどこに書くべきなのでしょうか?

  • IEとスタイル

    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> というタグがあります。 IE5,6,7にスタイルで対応させるには <style type=text/css>body{margin:0}</style></head><body> でよいですか?

    • ベストアンサー
    • HTML
  • 要素の抽出と埋め込み

    PHP初心者です。 同一のファイル内で、特定のタグに囲われた箇所に、別のタグ内の要素を埋め込みたいと思っています。 具体的には、 <title>hoge ホゲ</title>のhogeの部分が、同ファイル内の <body id="hoge">のhogeの部分から持ってくるようにしたいのです。 なぜなら、複数のページで<head>内の記述をincludeで使いまわしていますが、<title>には、各ページで違う表記をしたいのです。 ここで、タイトルとして使えるユニークなIDは<body id="hoge">の部分となります。 http://oshiete1.goo.ne.jp/qa2481220.html に、似たような質問がありましたが、わたしには応用ができませんでした。 すいませんが分かる方、ヘルプよろしくお願い致します。

    • ベストアンサー
    • PHP
  • DreamWeaverMXでスタイルシートを使わない方法

    DreamWeaverMXを使用しています。 文字に色をつけたり大きさを変えたりするときに、自動的にスタイルシートでタグが入力されてしまいます。 例えば赤文字にしたときに <font color="red">赤い文字</font> こうしたいのに <head> <style type="text/css"> <!-- .style1 {color: #FF0000} --> </style> </head> <body> <span class="style1">赤い文字</span> </body> こういうタグが入ってしまいます。 これをHTMLだけのタグがはいるようにしたいのですが、そういう設定方法はないでしょうか? ご存知の方がいましたらよろしくお願いします。

  • ページのトップへ戻るためのidの仕込み方

    ページのトップに戻るidを設定したいと思っています。 ただ、その中に要素を配置したくないので、以下のように考えています。 <body>すぐ下に <div id="pagetop" style="display: none;"></div> (1)空タグはまずい、と聞きますが、これではよくないのでしょうか?そして、なぜまずいのか、もよくわからない次第で…。お分かりでしたらお教えください。 (2)また、display: none;と書くのはSEO的にはどうですか? どうぞ、よろしくお願いします。

    • ベストアンサー
    • HTML
  • HPビルダーでフレームを使用せずに壁紙を左一列配置にする方法

    HPビルダーver6を使用してHPを作成しています。 ある壁紙を全面配置ではなく左一列配置にしたいのですがフレームを使わずにできますか? 実はスタイルシートを使用したことがないのでよくわからないのです。 あるHPでこのタグを組むようにと例があったのですが上手く行きません。 例:<BODY STYLE="BACKGROUND:背景色 URL(画像ファイル) repeat-y"> どうしたら上手く行くのかタグまで教えてください。 またver6の使い方を詳しく教えているHPもありましたら同様に教えてください。

  • このcssが適用されない理由を教えて下さい

    下のcssはaタグにcls1クラスが適用されません。 div.cls1を.cls1とすると適用されます。 要素名.クラス名で「要素以下の指定クラス」を対象に出来る筈なのですが 何か記述方法を間違えているでしょうか。 ここから<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <html> <head> <style> div.cls1 { display: block; border: 1px solid red; width: 200px; height: 100px; } </style> </head> <body> <div> <a class="cls1" href="www.google.co.jp">google</a> </div> </body> </html> ここまで<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    • ベストアンサー
    • CSS
  • CSSのpaddingは<body>タグに指定可能?

    CSSのmarignは<body>タグに以下のような形式で指定されているのを見かけますが、 例: margin-top:0px; margin-bottom:0px; margin-left:0px; margin-rigiht:0px; W3Cの規定によると、paddingは<body>タグに指定可能なのでしょうか? 例: padding-top:20px; padding-bottom:20px; padding-left:20px; padding-rigiht:20px; W3Cの規定によると、marginとpaddingは、ブロックレベル要素及びインラインレベル要素に指定可能だと思います。 ブロックレベル要素とインラインレベル要素を区分けした表はよく見かけますが、<body>タグはブロックレベル要素に含まれていません。 <マージンとブロックレベル要素及びインラインレベル要素の関係> http://www.mozilla.gr.jp/standards/webtips0015.html <ブロックレベル要素とインラインレベル要素を区分けした表> http://riko.s235.xrea.com/shirley/reference008.htm <body>タグはブロックレベル要素と考え、ブロックレベル要素に適用できるスタイルは<body>タグにも指定できると解釈してよいのでしょうか? ブロックレベル要素に指定できて、<body>タグにも指定できないスタイルってありますか?また、ブロックレベル要素に指定できずに(インラインレベル要素に指定できて)、<body>タグにも指定できるスタイルってありますか?

    • ベストアンサー
    • HTML

専門家に質問してみよう