1. メモ帳日記 >
  2. Web >
  3. HTML / CSS >
  4. del, ins 要素の display プロパティの値について

メモ帳日記

日記書いたりメモ書いたり

2007年 3月 3日(友引

del, ins 要素の display プロパティの値について

del, ins 要素は、HTML 4.01 や XHTML 1.0 の DTD において、%Flow;を内包してよいということになっている。%Flow; は、ひと言で言うと、何でも入れてよいことを示している (もちろん、head 要素以下にしか記述できないものは除くが)。このため、CSSdisplay プロパティの値を場合に応じて変化させたほうがよい。しかし、ここで一つ問題が生じる場合がある。それは、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 の中の人たちは気にしていないのだろうか? 気になる。