35

cssで以下を実現したい。IE8+で動作するようにするにはどうすればよいですか

url('../img/icons/' + attr('type') + '_10.png')
4

4 に答える 4

26

私はあなたができるとは思わない。プロパティではcontentスペースで区切るだけで「連結」できますが、他の場所ではそのような機能はないと思います。これは残念です。

style属性が使用されるときはいつでも、属性でこのスタイルを指定するのがおそらく最善でしょうtype

于 2013-04-01T14:41:37.277 に答える
4

いいえ、CSS 言語には動的に CSS コードを生成できる制御構造などがないため、プレーンな CSS でこれを行うことはできません。

代わりに、JavaScript ソリューションまたは PHP でコーディングされた CSS 変数に基づくソリューションを使用できます。

于 2013-04-01T14:43:15.110 に答える
2

あなたが提案している方法で動的な文字列補間を行うことはできませんが、[type]属性に可能な値の数が限られている場合は、それぞれにスタイルを作成できます:

.your .selector[type="foo"] {
    background-image: url('../img/icons/foo_10.png');
}
.your .selector[type="bar"] {
    background-image: url('../img/icons/bar_10.png');
}
.your .selector[type="baz"] {
    background-image: url('../img/icons/baz_10.png');
}

無理な数の型がある場合は、おそらく、ここにリストしたものよりも優れた解決策を考え出す必要があります。

于 2013-04-01T14:47:46.680 に答える