質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

3回答

1283閲覧

htmlで終了タグがないときの挙動を説明する情報がない

thesnowman

総合スコア154

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2022/04/24 09:48

<div> <h1>本日の天気<h1> <p>全国的に晴れでしょう</p> </div>

上記のhtmlは以下のようになります。

イメージ説明

<div> <h1>本日の天気 <p>全国的に晴れでしょう</p> </div>

私は上記のように<h1>の終了タグを入れ忘れるとエラーになると思っていました
しかし、以下のようになりました。
イメージ説明

なかなか調べてもなぜこういう挙動になるのかの説明がでてきません。
理由を教えていただけないでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2022/04/25 01:23

> なぜこういう挙動になるのかの説明がでてきません。 この「挙動」を積極的に使いたいのでもなければ、正しくないHTMLのレンダリング結果など気にする必要もないのではないでしょうか?
guest

回答3

5

<h1>の終了タグを入れ忘れるとエラーになると思っていました

HTML,CSSについてはその手のエラーはないです。
画面レイアウトが崩れる云々はhtml、CSS側からすると「動かなくなる致命的なもの」ではないため、
ブラウザは書かれたとおりに画面描画します。
(想定のレイアウトになるかどうかはあくまで書いた人の都合)

よって、自身で発見できない場合は、構文チェック機能・開始タグを打つと終了タグを補完してくれる機能のあるエディタを利用し、発見してもらいます。

中には終了タグを省略できるもの、省略してはいけないもの、終了タグがないもの
があるので、そのあたりも実装時には注意と考慮が必要です。
提示のh1は「省略してはいけないもの」ですが、終了タグを書いていないため、以下がh1仕様で描画されます。

投稿2022/04/24 11:09

編集2022/04/24 11:12
m.ts10806

総合スコア80888

thesnowman, miyabi_pudding, recal, mather, maisumakun👍を押しています

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2022/04/24 20:56

やはり、無言で低評価がつくのは嫌がらせ目的でしょうね。 運営相談します。
thesnowman

2022/04/28 04:31 編集

ご回答ありがとうございます!低評価は私ではないです!
m.ts10806

2022/04/28 05:24

たぶんそうだと思います。 ずっと付け狙ってる迷惑な人がいるんですよ。 運営には相談済みです。
guest

3

htmlの仕様ではparse errorなのですがブラウザの実装を見る限りparse errorになっても何もしないので
後続のpタグもh1の子ノードとしてレンダリングされるのだと思います。
以下に仕様が書いてあります。
https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inbody

投稿2022/04/24 17:02

a.com

総合スコア915

thesnowman, Lhankor_Mhy, kei344👍を押しています

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

閉じタグはブラウザの解釈によって自動的に補完されます。
開発者ツールを使って確認してみてください。
例えば、このようになります。

html

1<div> 2 <h1>本日の天気 3 <p>全国的に晴れでしょう</p> 4</h1></div>

投稿2022/04/24 14:20

mather

総合スコア6762

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問