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

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

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

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

HTML

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

Q&A

解決済

5回答

12725閲覧

HTMLの空要素の正しい書き方を教えてください

arly_times

総合スコア100

HTML5

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

HTML

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

0グッド

0クリップ

投稿2016/09/08 07:51

HTMLを書く際に空要素はタグを閉じる直前に/を書くイメージがあります。
inputタグやimgタグです。
しかし、brタグだけは/をつけずに書いているイメージがあります。
現にこのようにbrだけつけない書き方ををよく見かけます。

空要素を書く際に/があってもなくても動きますが実際のところはどのように書くのが正しいのでしょうか?
/で閉じるべきか違うのか、またはbrだけ特別なのか...
厳格なルールとしてはどうするのが正しいのかわかりませんので教えてください。

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

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

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

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

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

guest

回答5

0

XHTMLの場合、記載されるコードはXMLとして適切なものである必要がありました。
つまり、タグは必ず開始と終了があり、空要素の場合はそれを示すことが必須でした。
そのため、
<tag></tag> <tag /> は同義で、こうでなければなりません、でした。

HTML5の場合、空要素は <tag> のように /> を付けないのが正解です。
ただしついていても「間違いではない」という仕様になっています。
<tag></tag> と言った表記はNGです。

詳しくは「空要素」と HTML4.01 HTML5 XHTML あたりを組み合わせて検索してみてください。

なお、brだけ特別、と言ったことはありません。

投稿2016/09/08 08:02

編集2016/09/08 08:02
kaz.Suenaga

総合スコア2037

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

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

0

ベストアンサー

<ルール1>
HTMLでは空要素の終了タグは必要ありません。ところが
XHTMLでは次のように終了させなければなりません。

<hr /> (半角スペースに続けて / を入れます)

<ルール2>
HTML5では最後の/はつける必要はありません。
(がついていても問題ありません。)

<アドバイス>
いずれにしろ可能ならば「全部つける」仕様か「全部つけない」仕様
に統一した方が混乱は招かないと「思います。

<ご参考>
空要素を持つ一例
<area> <base> <basefont> <br> <col> <frame> <hr>
<img> <input> <isindex> <li。nk> <meta> <param>

投稿2016/09/08 10:33

編集2016/09/08 10:33
Yatsurugi

総合スコア1628

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

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

0

一時期書きましょうという流れになりました(XHTML)が、書かなくて良くなりました(HTML5)。
1つのHTML文書に空要素の/ありとなしが混在していても問題はありませんが、
コーディングルールとしては空要素に/を入れる・入れないを統一した方がいいと思います。
無しで統一するのが現代的です。

投稿2016/09/08 09:48

yamato_hikawa

総合スコア2092

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

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

0

<img /><br />のように最後にスラッシュを付けるのは、XHTMLという規格に則ったものです。

現代のHTML5では、最後のスラッシュはなくてよいということになっています(あっても悪影響はありませんが、わざわざ書く必要はありません)。

Then, if the element is one of the void elements, or if the element is a foreign element, then there may be a single "/" (U+002F) character. This character has no effect on void elements, but on foreign elements it marks the start tag as self-closing.

HTML5勧告 §8.1.2.1 Start tags

投稿2016/09/08 08:03

maisumakun

総合スコア145192

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

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

0

基本的にHTMLでは空要素に閉じタグは不要です。
閉じタグが必要なのはXHTMLで書かれている場合のみです。

XHTMLはHTMLをXMLの文法で書き直したもので、
XMLは閉じタグが必須なのでその文法で書いたXHTMLも閉じタグが必要です。

しかし閉じタグがなくてもブラウザが補完してくれるので混在してしまったりしていますね。
XHTMLなのに一部を触る人がHTMLで書いちゃったり、
XHTMLからHTML5にする際に動くからとそのまま持ってきちゃったりで。

投稿2016/09/08 08:01

gin

総合スコア2722

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問