ネタバレ防止タグ

映画のレビューですが後半ネタバレ防止のため文字を白くするって書いてあるんだけど、白くなってません*1。ソースを見るとこんなことになってます。

<p>このへんから結末になるので文字の色を白くします。</p>
<p><span style="color: rgb(255, 255, 255);"></span></p>

はてな記法のデフォルトである自動 p タグ挿入で p より弱いタグは強制的に閉じられてしまうのです。こういう時は自動 p タグ挿入を抑止する記法を使います。

このへんから結末になるので文字の色を白くします。
><span steyle="color: rgb(255,255,255);"><
普通に
文章を書く
></span><

こう書くとソースはこうなります。

<p>このへんから結末になるので文字の色を白くします。</p>
<span steyle="color: rgb(255,255,255);">
<p>普通に</p>
<p>文章を書く</p>
</span>

とりあえずこれをお奨め(IE, firefox で動作確認済)。

でもこれだとブラウザによっては白文字にならないかもしれません。HTML の文法では span タグで p タグを囲むことができないからです。ブラウザが文法違反の HTML を無理矢理解釈する際に p タグの前で span タグが閉じているものとして解釈して表示することはありえます。

span のかわりに div を使えばよいのですが、はてな記法では div タグの style 属性を許しません(自動的に削除される)。

class 属性は使えるので管理メニューから設定できるスタイルシートでネタバレ用の class を定義しましょう。

div.netabare {
  color: rgb(255,255,255);
}

日記では以下のように記述します。

このへんから結末になるので文字の色を白くします。
><div class="netabare"><
普通に
文章を書く
></div><


*1:Firefoxにて。IEで見ると白くなってました。