質問: スタックオーバーフローは質問や回答にマークダウンを使えます。 Markdownの仕様により、自由に**HTMLタグと併用**することもできます。 ただし**すべての**HTMLタグが使える訳ではありません。そうしないとXSS攻撃の温床になってしまいます。 スタックオーバーフローで許可されているHTMLタグのホワイトリストはありますか? ←よくある質問の目次に戻る --- この投稿はStack Exchangeのメタ質問を翻訳したものです。
回答: 前書き === この回答はStack Exchangeのメタ回答を翻訳して加筆修正したものです。 前提としてHTMLタグよりも**Markdownを優先**して利用しましょう。 ``タグなどMarkdownで実現できない表現の場合、適切な用途でご活用ください。 参考リンク: Markdown や HTML を使用して投稿を書式設定するには? Markdown ヘルプ 使用可能なHTMLタグ =========== Stack Exchangeでは下記の**安全と認めたHTMLタグのサブセット**のみ利用可能です。 | タグ | タグの定義 | 構文例 | 表示例 | Markdown記法 | 備考 | | --- | --- | --- | --- | --- | --- | | `` | ハイパーリンク | `練習場` | 練習場 | `練習場` | 構文は後述 | | `` | 太字 | `bold` | **bold** | `**bold**` | `-`, ``または``を優先して使うこと。太字はどうしても必要な時のみ利用すべき | | `` | 別ソースからの引用 | | | 行頭の`>` | | | `` | プログラムコード | `Hello World!` | `Hello World!` | `Hello World!` | | | `` | 打消し線 | `delete` | ~~delete~~ | `-delete-` | 修正削除した要素を示す | | `` | タグの子要素。定義語の説明文 | | | | | | `` | 定義語のリスト | | | | | | `` | タグの子要素。定義語 | | | | | | `` | 強調 | `emphasis` | *emphasis* | `*emphasis*` | | | `````` | 見出し | `大見出し``中見出し``小見出し` | | `# 大見出し``## 中見出し``### 小見出し` | | | `` | イタリック体(斜体) | `italic` | *italic* | `*italic*` | | | `` | 画像 | `` | icon | `!icon` | 構文は後述 | | `` | 入力 | `ALT+F4` | `ALT`+`F4` | | 主にキーボード入力で使用 | | `` | リスト項目。``または``の子要素。 | | | | Markdownは行頭の`1.` や`+` で表現 | | `` | 数字付きリスト | | | 行頭の`{数字}.` | | | `` | 段落 | `paragraph` | paragraph | | | | `` | 整形済みテキスト | `preformatted` | ``` preformatted ``` | ```preformatted``` | 正確には`lang-none`相当。シンタックスハイライトも参照のこと | | `` | 打消し線 | `strike` | ~~strike~~ | `-strike-` | Markdownまたは``の利用を推奨 | | `` | 上付き文字 | `superscript` | superscript | | 脚注などに使う | | `` | 下付き文字 | `subscript` | subscript | | | | `` | すごく強調 | `strong` | **strong** | `**strong**` | 表示上は``と変わらない | | `` | 打消し線 | `strike` | strike | `-strike-` | Markdownまたは``の利用を推奨 | | `` | 数字なしリスト | | | 行頭の`+` や`-` | | | `` | 改行 | `改行` | 改行 | | | | `` | 水平線 | | | `---` | | ノート HTMLタグが使える代わりに、**「<」を表示したい場合はエスケープする必要があります。** エスケープする方法は、`>`をコード表記(4文字インデントするかバッククォートで囲む)する方法と`<`を使う方法があります。 使用可能なタグ属性 ========= img属性 ``タグでは下記の属性が使えます。 しかしモバイル向けテーマでは`width`の最大値が90%に強制され、それに伴ってモバイル環境では`height`も指示通りに伸縮されないかもしれません。 **属性の並び順に要注意!**`height`の前に`width`を記載するなど、順番を変えるとタグが無効化されます! * src="画像のソース" * width="100" (`999`まで。'px'は記述しないでください) * height="100" (`999`まで。'px'は記述しないでください。上記の説明も参考にしてください) * alt="代替テキスト" * title="タイトル" Markdownでサイズ調整する構文はこちらを参照してください。 a属性 ``タグでは下記の属性が使えます。 * href="リンク先" * title="タイトル" `href`属性は下記の仕様です。 * 使用可能 + 絶対URL(`https://ja.stackoverflow.com/`など) + 相対URL、プロトコル相対URL(`/q/31`, `//stackexchange.com/users/`など) * 使用不可 + 特殊な記法(例えば `#31` のようなもの) + HTTP、HTTPS以外のプロトコル(`pavascript`, `ftp`, `mailto`など) これらすべてのリンクがhrefに記述されている場合は、a属性が無効化されます。 重要Tips ====== * 上記にないHTMLタグは表示されません。 プレビューには表示されるかもしれませんが、サーバ上で除去されます。 * タグが適用されるよう、正確に入力してください。 このリストにあるタグは大文字小文字問わず使用できますが、それ以外の例外(属性の間に余分なスペースを入れる、シングルクォーテーションや引用符なしで属性を記述するなど)を含むタグは**無効化**されます。