62602


metaタグの末尾にスラッシュ(`/`)が記載されていますが、何か特別な意味はありますか？  
省略しても良い？

[Twitter metaタグ](https://developer.twitter.com/en/docs/tweets/optimize-with-
cards/overview/summary)より引用：

[code]

    <meta name="twitter:card" content="summary" />
    <meta name="twitter:site" content="@flickr" />
    <meta name="twitter:title" content="Small Island Developing States Photo Submission" />
    <meta name="twitter:description" content="View the album on Flickr." />
    <meta name="twitter:image" content="https://farm6.staticflickr.com/5510/14338202952_93595258ff_z.jpg" />
    
[/code]


CC BY-SA 4.0
2020-01-28T03:41:03.817
62599
2020-01-30T03:43:26.637
2020-01-30T03:43:26.637
3060
7886
question
html html5
metaタグ末尾に含まれる / (スラッシュ) に特別な意味はありますか？


HTML Standard の 12 章 1 節 2 項 1 目によれば、 `void` 要素、 `SVG` 名前空間や `MathML`
名前空間に由来する要素は開始タグに斜線 (`U+002F`) が **存在しても良い**
としています[[1]](https://html.spec.whatwg.org/#start-tags)。

> ### § 12.1.2.1 Start tags[[1]](https://html.spec.whatwg.org/#start-tags)
>
> Start tags must have the following format:
>
>   6. 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 SOLIDUS character (/).
> This character has no effect on void elements, but on foreign elements it
> marks the start tag as self-closing.
>

この文字は `void` 要素に対しては影響を及ぼしませんが、 `SVG`, `MathML`
名前空間に由来する外来要素では自己終了し、内容が空かつ終了タグが存在しないことを示します[[2]](https://html.spec.whatwg.org/#elements-2)。今回の場合、
`meta` 要素は `void` 要素であるため、開始タグの斜線は存在するかに関わらず、 **変化をもたらしません** 。

> ### § 12.1.2 Elements[[2]](https://html.spec.whatwg.org/#elements-2)
>
> There are six different kinds of elements: void elements, the template
> element, raw text elements, escapable raw text elements, foreign elements,
> and normal elements.
>
>   * **Void elements**  
>  `area`, `base`, `br`, `col`, `embed`, `hr`, `img`, `input`, `link`,
> **`meta`** , `param`, `source`, `track`, `wbr`
>
>   * **Foreign elements**  
>  Elements from the `MathML` namespace and the `SVG` namespace.
>
>

* * *

蛇足ですが、 `void`
要素に対する斜線は歴史的経緯によって残っています。過去の仕様には、上記に引用した文章の後ろに以下のような文章が添えられていました[[3]](https://github.com/whatwg/html/commit/1e78400c39713194e0d6eeb35aa989cb312c41c7#diff-36cd38f49b9afa08222c0dc9ebfe35ebR22879)。

> Then, if the element is one of the void elements, then there may be a single
> U+002F SOLIDUS character. This character has no effect except to appease the
> markup gods. As this character is therefore just a symbol of faith, atheists
> should omit it.


CC BY-SA 4.0
2020-01-28T04:12:54.310
62600
2020-01-28T04:42:15.380
2020-01-28T04:42:15.380
32986
32986
62599
answer


`<名前 属性... >` は「開始タグ」、`</名前>` は「終了タグ」といいます。「閉じタグ」という用語は SGML/XML/HTML
の分野にはありません。

`<名前 属性... />`
は「空要素タグ」です。XMLでは、要素は開始タグと終了タグの組もしくは空要素タグでなければなりません。HTMLのように開始タグだけの記述はできません。

件のTwitterのページようにHTMLのコード片を紹介するとき、`meta`のようなvoid要素は空要素タグで記述しておくと、それをHTMLのページにコピーしてもXHTMLのページにコピーしても問題なく動くのです。


CC BY-SA 4.0
2020-01-28T05:24:43.773
62602
2020-01-28T05:24:43.773
3475
62599
answer