正直なところ、純粋な CSS でやりたいことを実行する方法がわかりません。コードを修正して、最初にこの道をたどった山ほどの悪い習慣を取り除く以外に方法はありません。
おそらく既にご存じのとおり、IE7 はこの方法で使用される属性セレクターをサポートしていないため、その面で困惑しています。他の唯一の実行可能な解決策は、要素にクラスを追加し、そのスタイルを設定することです (ただし、それができる場合は、私はあなたがすでにそれをやったと思います)。
それを超えて、Javascript ソリューションを見ています。
新しい CSS 機能のサポートを古い IE に追加するポリフィル スクリプトの 1 つを試すことができます。IE9.jsまたはSelectivizrのいずれか。これら 2 つのスクリプトは一般に、古い IE に CSS セレクターのサポートを追加するのに非常に優れていますが、ここで行っているのは本当のエッジ ケースであり、それらが対処しなくてもまったく驚かないでしょう。ぜひ試してみてください。ただし、奇跡を期待しないでください。
それを考えると、より手動のアプローチの方がうまくいくかもしれません.jQueryまたは同様のライブラリを使用している場合、必要な要素を非常に簡単に選択できるはずであり、そこから作業できます. (jQuery やセレクター エンジンが組み込まれたライブラリを使用していない場合は苦労するでしょうが、IE7 をサポートしている場合は、jQuery をまだ使用していないと聞いて驚かれることでしょう)
しかし、ここから出てくる本当のメッセージは、インライン スタイルと CSS!important
修飾子は悪い習慣であり、あなたを苦しめることになるということです。そして、あなたはかなり激しく噛まれました。