スタイルシートで正規表現?

[href^="aa"] {background: #000}

なにやら正規表現を使って、IDだとかURL別に処理しているこんな感じの記述を見掛けた。
なんたらセレクタだとか。


だけどIE6では対応していない様子・・・。(7、8は対応?)
しかしexpressionを使えば同じようなことが一応できる。

<style type="text/css">
input {
    color: expression(function(o) {
        if(/aa/.test(o.id)) {
            with(o.style) {
                background = '#00f';
                border     = '1px solid #ff0';
            }
            o.value = o.id;
            return '#fff';
        }
        o.value = o.id;
    }(this));
}
a {
    color: expression(function(o) {
        if(/google/i.test(o.href)) {
            o.style.zoom = 2;
            return '#ff0';
        }
    }(this));

}
</style>

<body>
    <input id=aaa>
    <input id=aab>
    <input id=ccc>
    <a href="http://d.hatena.ne.jp/">test</a>
    <a href="http://www.google.com/">test</a>
</body>

IDにaaを含むinputだけ色を変えたり
リンクに特定文字列を含むアンカーだけ色や大きさを変えたりと。
colorなど、一つの設定内だけで色々できるけど、変な処理をするとブラウザが固るw
webサイトなどには向いていないだろうけど、HTAなどに使う分には便利だろうね。
ただexpressionを多用するのは、メモリ的だか何だかによろしくないらしい(よくわからん)。


前にも同じようなこと書いた気がするけど、まいいや。