ひょっとすると、HTML の記述がまずい可能性があります。
HTML の要素は、大きく分けてインライン要素とブロック要素との2種類があります。まず、インライン要素の中にブロック要素は入れられないという大原則があります。ブロック要素は、その中にインライン要素またはブロック要素を入れられますが、要素によってはインライン要素しかダメな場合があります。
で、<hr />, <div>,
などはブロック要素であり、<span>, <font>, <strong>, <em>
などはインライン要素です。ちなみに、WordPress は HTML じゃなくて XHTML を出力するので <hr />
が正しいです (<hr>
だと文法違反です)。
もし、<font color="red">なんちゃら<hr />ふがふが</font>
という記述をしていると、これはインライン要素の中にブロック要素が入ってしまっているため、WordPress が自動的に <font color="red">なんちゃら</font><hr /><font>ふがふが</font>
のように修正してしまいます (実際には div または p 要素も補完されるはずです)。
とりあえず、Default テーマに切り替えてみて、それで現象が発生するならば、XHTML の記述がよくないと考えてください。テーマを切り替えると直るならば、テーマが悪いと思います。
lilyfanさん、ありがとうございます。
defaultテーマでは問題がありませんでしたので、教えていただいた内容を元にCSSとにらめっこしてたのですが、解決しました!
CSS内で、記事内の装飾を指定していたidが
#main_content { ……
というもの(ボックス幅とフロート属性)と、
#main_content P{ ……
というもの(フォントサイズとline-height、マージン)の二つに分かれていたので、フォントサイズとline-height、あとついでにcolorを#main_contentにまとめてみたところ、ブロック要素の後でもCSSで指定したとおりに出力されました。
デザイン的に気に入っていたテーマでしたので、問題なく使えるようになってほっとしました。
どうもありがとうございました。
なるほど。純粋に CSS の問題だったんですね。HTML の記述が悪いわけではなくてよかったです。
ひょっとすると、P が大文字だからダメだったりするかもしれません。これでは P 要素に対する指定になってしまい、p 要素に対する指定になりませんから (「P 要素」なんてものは存在しません)。