Markdown記法を使用していて、divタグなどで囲うと無効化されてしまいます。どうやらこれはMarkdownの仕様のようです。
Markdownをブロック要素に書いてみる
例としてリンクを見てみます。
はてなブログではリンクの設定で以下の4パターンを使用することが出来るので、それぞれ試してみます。
埋め込み
タイトル
URL
http://hatebu-memo.scriptlife.jp/
選択範囲
記述はこうなっています。
<b>埋め込み</b> [http://hatebu-memo.scriptlife.jp/:embed:cite] <b>タイトル</b> [http://hatebu-memo.scriptlife.jp/:title] <b>URL</b> [http://hatebu-memo.scriptlife.jp/] <b>選択範囲</b> [はてなブログカスタマイズメモ (手動設定)](http://hatebu-memo.scriptlife.jp/)
これをdivタグで囲むと、こうなります。
埋め込み
タイトル
URL
選択範囲
コードは次のようになっています。
<b>埋め込み</b> <div> [http://hatebu-memo.scriptlife.jp/:embed:cite] </div> <b>タイトル</b> <div> [http://hatebu-memo.scriptlife.jp/:title] </div> <b>URL</b> <div> [http://hatebu-memo.scriptlife.jp/] </div> <b>選択範囲</b> <div> [はてなブログカスタマイズメモ (手動設定)](http://hatebu-memo.scriptlife.jp/) </div>
埋め込み、タイトル、URLは変換されますが選択範囲については無効化されてしまいました。
他のMarkdown記法 (改行したら段落になる) なども、divで囲うと無効化されます。
はてな記法は有効
少し話が逸れまずが、埋め込み、タイトル、URLはなぜ動作したのか。
これらは実はMarkdownではなく、はてな記法として処理されているようです。
Markdownモードでも一部のはてな記法は使用可能となっており、そちらであればブロック要素の中でも使用できるようです。
ブロック要素で無効化されるのはMarkdownの仕様
話を戻して、ではどうすればいいかとなると…これはMarkdownの仕様のようなので、あきらめるしかないです。
Daring Fireball: Markdown Syntax Documentationには
Note that Markdown formatting syntax is not processed within block-level HTML tags. E.g., you can’t use Markdown-style emphasis inside an HTML block.
と使用できないことが明記されています。
Daring Fireball: Markdown Syntax Documentation
Markdown文法の全訳 - adiaryマニュアル
インライン要素の中では使用できる
spanタグなどのインライン要素内では、Markdownも動作します。
<span> [はてなブログカスタマイズメモ (手動設定)](http://hatebu-memo.scriptlife.jp/) </span>
とすると、
こうなります。
ブロック要素およびインライン要素の一覧については、以下のURLがまとまっています。
インライン要素をブロック要素にする
とはいえ、ブロック要素で使いたい場合もあると思います。
その場合は若干裏技じみてますが、インライン要素をブロック要素に指定することができます。
CSSで、「display: block;」を指定すると、その要素はブロック用として扱われます。
例えば先ほどのspanタグなら、
span { display: block; }
とstyle要素に定義するか、
<span style="display: block">
とタグに指定します。