日記書いたりメモ書いたり
del
, ins
要素の display
プロパティの値についてdel
, ins
要素は、HTML 4.01 や XHTML 1.0 の DTD において、%Flow;
を内包してよいということになっている。%Flow;
は、ひと言で言うと、何でも入れてよいことを示している (もちろん、head
要素以下にしか記述できないものは除くが)。このため、CSS のdisplay
プロパティの値を場合に応じて変化させたほうがよい。しかし、ここで一つ問題が生じる場合がある。それは、del
, ins
要素の親要素も %Flow;
である場合だ。これに該当するものは以下の五要素が上げられる。
div
dd
li
td
th
これらの中で del
, ins
要素を使う場合は、del
, ins
要素の直下が %Block;
であるか %Inline;
であるかによって、del
, ins
要素の display
プロパティの値も block
, inline
と変化すべきである。だが、これを実現するための CSS セレクタは存在しない。CSS 3 にもない。:empty
というセレクタもあるが、これはほんとうに空の場合にしかヒットしない。というわけで、どうしようもない。ハックするとかいう手もないので、仕方なく上記五要素直下に del
, ins
要素がある場合は、display: inline
とした。実際、これでも問題はそんなにでない。ただ、やはり納得がいかない。そもそも、どうして内包要素によってその親にスタイルを変えることができないのか? 不便でしょうがない。こう思うシチュエーションは結構あるのだが。W3C の中の人たちは気にしていないのだろうか? 気になる。