11

次の IE のフォールバックがcolor: red;機能しないのはなぜですか?
IE7 では、色はblackではなくred.
ライブデモはこちら

HTML:

<div>
    <span>Hello</span>
</div>

CSS:

div {
    width: 200px;
    height: 100px;
    background-color: blue;
    text-align: center;
}
span {
    font-size: 2em;
    color: red;
    color: rgba(250, 250, 97, 0.9);
}

サードパーティ編集

css colorのmozilla mdn には、さまざまなオプションがリストされています。color: value

4

2 に答える 2

11

RGBA は IE ではサポートされていません。

ただし、color: スタイルを認識すると、それを評価しようとし、デフォルトの色 (#00000000) に戻します。ここでは、次のような IE 固有のハックを使用できます。

*color: red;

ただし、要素全体の不透明度ではなく、背景色のみに影響を与えようとしていると仮定すると、目的の rgba 値をグラデーションの開始色と終了色として設定するフィルターを使用するのが最善です-rgba を作成しますバックグラウンド。

filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000050,endColorstr=#99000050);

-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000050,endColorstr=#99000050);

ただし、覚えておいてください - IE は Alpha が最後ではなく最初であると想定しているため、値を変換してコピーするだけではいけません。ダブルフィルターはそれぞれIE6とIE7用です。

http://css-tricks.com/rgba-browser-support/

于 2010-07-13T11:22:09.490 に答える
5

これら 2 つの色宣言を個別の CSS ルールセットに分割すると、この問題が解決されます。

span {
    font-size: 2em;
    color: red;
}
span {
    color: rgba(250, 250, 97, 0.9);
}

現在、IE は赤いテキストを取得し、より優れたブラウザーは RGBA 宣言を取得します。

于 2013-04-24T15:23:23.067 に答える