IE8のlist-style-type

新しいテーマに変更したフォトブログでCSS上list-style-type:decimal;とすると、IE8で1,2,3…99,00,01,02,03…99,00,01,02…という繰り返し表示になってしまう。最初の10までは一桁なのに0はつかず、100以降の繰り上がりで本来は99,100,101,102,103…となるところが、以降100上がるごとに00,01,02,03…という具合に繰り返してしまう。これはこのテンプレ(テーマ)の仕様か?他の.phpを見てもベースとなるようなスタイルシートはないし、今までのテーマでは正常に100,101,102…と繰り上がり表示していたのでおかしいわ。

検索すれば、IE8はlist-style-type:decimal-leading-zero;に対応した、と出ていた。うん、これが引っ掛かってるね。list-style-type:decimal-leading-zero;にしてないのにdecimal-leading-zero;もどきに表示される。サファリ、オペラではlist-style-type:decimal;で正常に99,100,102,102…199,200,201…299,300,301…と表示されている。

前述したとおり以前のテーマでは正常に繰り上がり表示していたので、やっぱり私のCSSがおかしいと思いなおしてよく見直してみると、もともとCSSには.post ol li { } の記述がありlist-style-type:decimal;の記述はないが、自分が付け加えた#archivelist ol li {list-style-type:decimal;} と干渉しあってエラーになっていると自覚した。そこで元の.post ol li { } にlist-style-type:decimal;を付け加え、#archivelist ol li { } は削除して解決。

このように関係し合う記述が複数あった場合、上(先)に書いた方が優先され、後に書いたほうは無視されると思ったが、無視されるわけではないんだね。ヘンテコなCSSでもなんとか読み込もうとするIE8の努力に感動。(^^ゞ