HTML でのコメントの書き方
HTML コメントは <!-- で始まり --> で終わります。ブラウザは 2 つの記号の間をすべて無視するので、そのテキストはページに表示されません。
表示されるのは見出しと段落だけです。HTML のコメントの書き方は 1 種類で、1 行でも複数行でも同じように使えます。
VS Code や多くのエディタでのショートカット: 行を選択して Ctrl + / (Mac では Cmd + /) を押します。エディタが記号を追加し、同じキーで外せます。
コードをコメントアウトする
ブラウザはコメントの中のタグも無視するので、マークアップを <!-- と --> で囲むと、削除せずに非表示にできます。ある要素がない状態でページを試す、いちばん手早い方法です。
バナーの行の <!-- と --> を消すと、バナーが元に戻ります。コメントアウトしたコードもページと一緒にダウンロードされるので、不要だと確信できたら削除しましょう。
コメントは入れ子にできない
コメントは必ず最初の --> で閉じます。コメントアウトするコードの中にすでにコメントがあると、外側のコメントが途中で終わり、残りがページにはみ出します。次の例は入れ子のコメントをブラウザのパーサーに渡し、実際に表示される部分を示します。
still meant to be hidden --> がテキストとして表示されます。大きなブロックをコメントアウトする前に、その中のコメントを削除しましょう (または --> を書き換えて一致しないようにします)。
ほかにもルールがあります。コメントを <!--> で始めることはできません (空のコメントになり、その後ろが表示されます)。また --!> も --> と同じようにコメントを閉じるので、どちらもコメントの本文に書かないでください。
コメントは公開されている
コメントはサーバーが送る HTML の一部なので、訪問者は誰でもソースの表示や開発者ツールで読めます。スクリプトで一覧にすることもできます。
コメントにはコードに関するメモだけを書きましょう。パスワード、API キー、社内 URL、顧客データなどの非公開の情報は、コメントであってもなくても HTML に入れてはいけません。ビルドツールや minifier は通常、本番の HTML からコメントを取り除くので、数バイトの節約にもなります。
CSS と JavaScript のコメント
HTML コメントが使えるのは HTML の中だけです。<style> や <script> の中では、それぞれの言語のコメントの書き方を使います。
見出しは青くなります。CSS は <!-- と --> の記号そのものを無視し、その間のルールを適用するからです。CSS を無効にできるのは /* ... */ だけです。書き方は CSS のコメント のページで解説しています。
条件付きコメント
古いコードには <!--[if IE]> ... <![endif]--> が含まれていることがあります。これは Internet Explorer 9 以前向けの指示でした。現在のブラウザはすべて普通のコメントとして扱うので、中身は無視され、ブロックごと削除して構いません。
よくある間違い
- コメントを入れ子にする。 内側の
-->で外側のコメントが終わります。ブロックをコメントアウトする前に、内側のコメントを削除しましょう。 - コメントに秘密の情報を書く。 コメントはすべての訪問者に送られます。
-->を書き忘れる。<!--からファイルの最後までがすべて消え、ページの半分がなくなったように見えます。- CSS で
<!-- -->を使う。 ルールは無効になりません。/* */を使いましょう。 - HTML で
//を使う。// noteはテキストとして表示されます。HTML が理解するのは<!-- -->だけです。
よくある質問
HTML でコメントはどう書きますか?
<!-- で始めて --> で終わります: <!-- This is a comment -->。2 つの記号の間にあるものは、タグも含めてブラウザに無視されるので、同じ書き方でコードをコメントアウトできます。
HTML で複数行のコメントを書くには?
HTML のコメントの書き方は 1 種類だけで、何行にわたっても構いません。最初の行に <!-- を、最後の行の後に --> を置きます。
HTML でコメントアウトするショートカットは?
VS Code をはじめ多くのコードエディタでは、行を選択して Ctrl + / (Windows と Linux) または Cmd + / (Mac) を押します。エディタが選択範囲を <!-- と --> で囲み、同じキーをもう一度押すと外れます。
HTML コメントは入れ子にできますか?
できません。最初の --> でコメントが終わるので、<!-- a <!-- b --> c --> では c --> の部分がページに表示されます。コメントを含むブロックをコメントアウトするときは、先に内側のコメントを削除するか書き換えます。
HTML コメントはユーザーに見えますか?
画面には表示されませんが、ページと一緒にブラウザへ送られます。ソースの表示や開発者ツールで誰でも読めるので、パスワード、キー、内部向けのメモは絶対に書かないでください。
HTML コメントは CSS や JavaScript の中でも使えますか?
使えません。<style> 要素の中では /* ... */ を、<script> の中では // か /* ... */ を使います。style ブロックに HTML コメントを書いても、中の CSS ルールは無効になりません。