CSS2 のセレクタについてちょっと調べてみたんですが、思ったより柔軟&強力。
下のサンプルは Safari 2.0 / Firefix 1.5 では期待通りにレンダリングされます。
まだフルサポートするブラウザが少ないけど IE7/Opera9 が普及したら積極的に使いたいですね。
(Safari からの投稿なので xml:lang のコロンの前のバックスラッシュが文字化けしています*1)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>CSS2 セレクタのテスト</title> <style type="text/css"> body {margin:0;background:gray;color:black} div.a[name="main"][xml?:lang|="ja"].b {background:black;color:orange;font:bold 24pt/200% serif} div#main > p {margin:0;text-indent:1em} </style> </head> <body> <div id="main" name="main" class="a b" xml:lang="ja-JP"> <p>CSS2 セレクタのテスト</p> </div> </body> </html>