ワイヤード・パンチ

Tumblrで本文の前後に勝手にpタグが入る現象は止められない。

image

Tumblrで記事を投稿する際はHTMLモードをよく使用するのですが、その状態で下書き保存でも投稿でもいいからいったん記事を保存し、再度その記事の編集画面を開くと、どういうわけか本文の前後に勝手にpタグが入ってしまいます。

広告

なぜpタグが入っちゃダメ?

pタグは段落を表すためのタグです。さらにpタグの中にはspanなどのinline要素を入れることは可能ですが、divなどのblock要素を入れることはHTMLの決まりとしてできません。divの中にpタグは当然可能ですが、逆はダメです。つまり、pタグで本文全体を囲ってしまうのは明らかにHTMLコードとして誤りなのです。

pタグが入るのを止められないの?

編集するうえでの妨げになってしまうので、なんとかこの自動出力を止めないところです。でも、どこの設定画面を見てもそんな設定はありません。これはもうサポートさんに要望を出すしかないと思って、サポートに問い合わせしてみたのです。ところが、下記のような回答をいただきました。

担当者が確認したところ、このタグはデフォルトで自動で追加されてしまうそうです。
大変申し訳ありませんが、こちらはその都度削除していただく以外にありません。
ご理解いただけますようお願いいたします。

残念ながら、どうやら仕様のようです。pタグの自動出力を止める方法はありません。どうしてこういう仕様なのかはわかりませんが、こうなってはこのまま付き合うしかありません。とはいえ、前後にpタグを残したまま再度保存しても、保存した分だけpタグが追加されて二重にも三重にもなっているということはありませんでした。前後のpタグを完全に消してしまうと、また前後にpタグは増えてしまいますが。

実際の表示に影響はあるの?

本来、pタグの中にpタグを入れてしまうと、ブラウザ上での表示に悪影響を与えてしまうはずです。でもpタグは多用しているのに、実際に確認しても崩れている様子はありませんでした。(そもそも崩れていたらそのまま公開していません。)前後を囲っていたpタグはどこに行ったのでしょう。

ブラウザのソース表示モードを使って確認してみます。現在はtumblr標準テーマのままほとんど変えていないので、body-textというclassがついたdivタグ内が本文を表しています。

あぁ、やっぱり最初にpタグが。と思ったら、先頭にある画像のタグの終わりで閉じられていました。

末尾の方へ向かいます。記事の最後にはアフィリエイトを貼りますが、その後ろにはpの閉じタグがありません。ということで、実際に記事を表示させた場合のみ、記事の前後を囲っていたpタグが消えてなくなっていたということが判明しました。問題なく編集も閲覧もできるというわけです。とはいえ、編集中だけpタグが勝手に増えるというのは、やっぱすっきりせんよなぁ。