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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Q&A

解決済

4回答

869閲覧

htmlで終了タグのみが記述されていた場合の挙動

mikikoji

総合スコア7

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

0グッド

1クリップ

投稿2020/03/11 08:46

htmlで終了タグのみが記述されていた場合、どのような解釈になるのでしょうか。

<p class="aaa">あいうえお</span></p>

例えば上記のような記述がある場合、"</span>"は文字列の扱いになりそうですが、私が確認したところ大抵のブラウザで"</span>"は省略されていました。(developer toolでソースを確認)

終了タグのみが記述されてしまった場合のブラウザの解釈等について、記事や情報を知っている方は教えて欲しいです。

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

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

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

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

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

m.ts10806

2020/03/11 11:52

知ってどうしたいのか分かりません。 HTML構文上は正しくないわけですし、知ったところで何の益にもならないのでは
raccy

2020/03/11 12:39

> 知ったところで何の益にもならない レンダリングエンジンの開発者になりたいのでは?Googleにでも就職したいのかもしれません。HTMLを全て理解してBlinkに大量のバグレポートとパッチを送り続ければ、向こうから声を掛けてくれるかも知れませんし。
guest

回答4

0

大抵のブラウザで"</span>"は省略されていました

逆に省略されないブラウザはあるのでしょうか?
基本的には閉じタグだけというのはマークアップ上ゴミ扱いで
テキストとさえ認識されません

投稿2020/03/11 08:53

yambejp

総合スコア114769

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

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

yambejp

2020/03/11 08:53

テキストにしたいなら&lt;/span&gt;
guest

0

構文解析方法は HTML 仕様に書かれていて、トークン化を経てツリー構築をするということになっています。

https://html.spec.whatwg.org/multipage/parsing.html#appropriate-end-tag-token
https://triple-underscore.github.io/HTML-parsing-ja.html#appropriate-end-tag-token

An appropriate end tag token is an end tag token whose tag name matches the tag name of the last start tag to have been emitted from this tokenizer, if any. If no start tag has been emitted from this tokenizer, then no end tag token is appropriate.

訳: 適切な終了タグトークンは、タグ名がトークナイザーから発行された最後の開始タグのタグ名に一致する終了タグトークンです。
トークナイザーから開始タグが発行されていない場合、適切な終了タグトークンはありません。

終了開始タグが省略できる場合もありますが、span は該当しないので補われず、その結果なかったかのようにふるまいます。
https://html.spec.whatwg.org/multipage/syntax.html#optional-tags
https://triple-underscore.github.io/HTML-writing-ja.html#optional-tags

投稿2020/03/12 01:36

編集2020/03/12 03:22
x_x

総合スコア13749

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

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

x_x

2020/03/12 01:40

タブ開きっぱなしだったから終わってたのに気づかなかった……
guest

0

ベストアンサー

HTML5以降はパーサーがHTMLをどのように解釈すべきであるかを細かく規定しており、HTMLとして正しくない場合にどのようにすべきかも細かく規定しています。

12.2 Parsing HTML documents | HTML Standard

上記を隅から隅まで読んで、それこそレンダリングエンジンの開発者に成れるぐらいまでになれば、なぜそういう解釈になるのかは理解できると思います。なお、HTML5に対応したモダンブラウザであれば、全て同じ動きになるはずです。しかし、HTML5では無い場合は、ブラウザ毎に異なる可能性がある(以前のHTMLでは正しくないHTMLをどう解釈するのかが細かく規定されていない)ことに注意してください。

投稿2020/03/11 12:36

raccy

総合スコア21735

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

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

0

世の中のhtmlは大半が崩れてるのでブラウザ側はある程度柔軟に解釈する。
意味のないタグなら省略。

厳密に解釈すると表示できないサイトだらけになるからという歴史的経緯。

投稿2020/03/11 09:14

kawax

総合スコア10377

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問