2

私は持っている

BODY
{
-webkit-filter: invert(100%);
-moz-filter: invert(100%);
-ms-filter: invert(100%);
-o-filter: invert(100%);
filter: invert(100%);
}

.jpg
{
-webkit-filter: invert(0%) !important;
-moz-filter: invert(0%) !important;
-ms-filter: invert(0%) !important;
-o-filter: invert(0%) !important;
filter: invert(0%) !important;
}

これは MIE で機能します。Chrome は、jpg クラスの画像も反転することを主張しています。

助言がありますか?

4

2 に答える 2

4

CSSフィルター効果の理解から:

ブラウザーが Web ページをロードするとき、スタイルを適用し、レイアウトを実行してから、ページをレンダリングして、見るべきものがあるようにする必要があります。フィルターは、これらすべての手順の後、ページが画面にコピーされる直前に開始されます。彼らが行うことは、レンダリングされたページのスナップショットをビットマップ イメージとして取得し、スナップショットのピクセルに対してグラフィック マジックを実行し、元のページ イメージの上に結果を描画することです。

にフィルターを適用しています。bodyフィルターは、各子要素ではなく、要素全体に平坦化されたイメージとして適用されるため、子のフィルターをオーバーライドすることはできません。

あなたの場合にできることinvert(100%)は、反転されていないものとして表示したいセレクターに適用することです。これは、二重反転画像が再び正常になるためです。

于 2013-06-27T20:03:41.890 に答える