すでにこれだけ日が開くと、日報もないような気もしますが…
YUI
Reset CSS を使用したのち、各要素を再定義していく中で、
手こずったのは li 要素の再定義で、
li { list-style: inherit; }
ul { list-style: disc none outside; }
ol { list-style: decimal none outside; }
とすると、少なくとも
Firefox では
ul, ol ブロックで指示した文字・記号が行頭にでるようになりますが、
Internet Explorer では
うまく行きません。
IE では、
li { list-style: inherit; }
ul li { list-style: disc none outside; }
ol li { list-style: decimal none outside; }
と明示的に ul, ol ブロック中の li 要素に対して
明示的に再定義する必要があります。
しかし、逆にこのようにだけ指定すると、
今度は
Firefox で
うまくいかなくなります。
さらにもう一つ問題があって、
ul ブロック中の中の ol ブロック、またその逆、
加えて ul, ol ブロック中の二階層目の ul, ol ブロック中での
li 要素の行頭文字を一階層目と違うものにしたい場合の
定義も別途必要になります。
と言うことで、真の正解はこれ。
li { list-style: inherit; }
ul, ul li { list-style: disc none outside; }
ol, ol li { list-style: decimal none outside; }
ul ul, ul ul li { list-style: circle none outside; }
ol ol, ol ol li { list-style: lower-alpha none outside; }
ul ol, ul ol li { list-style: decimal none outside; }
ol ul, ol ul li { list-style: disc none outside; }
三階層目はやめましょう (^^;>
自分でもあまり美しい方法ではないように思うんですが、
これ以外の解を見つけられませんでした。
より美しい解をご存じの方、是非教えてください m(_ _)m