ホームページ  >  記事  >  ウェブフロントエンド  >  CSS で rgba() を使用するときに発生する問題と解決策

CSS で rgba() を使用するときに発生する問題と解決策

零下一度
零下一度オリジナル
2017-06-24 11:32:103486ブラウズ

今日問題が発生しました。ページに半透明の白い div を設定する必要があります。これは問題ないようです。この div に次の属性を設定するだけです:

background: rgba(255,255,255,.1);

ただし、ie8 と互換性がある必要があります。これはちょっと痛いですね。 ie8 は rgba() 関数をサポートしていないためです。以下に rgba() 関数の意味をまとめます。

rgbaの意味は、rは赤、gは緑、bは青を表し、赤、緑、青は三原色です。この3色から全ての色を組み合わせることが可能です。 aは透明度を表します。たとえば、rgba (255, 255, 255, 0.1) は透明度 0.1 の白です。 RGB は最新のブラウザでサポートされています。ただし、IE8 などの旧来のブラウザでは rgba はサポートされていません。IE8 は rgb() 関数をかろうじてサポートしています (つまり、透明度が削除され、色のみを表現できます)。

そのため、IE8 で半透明を設定するには、ある程度の頭脳が必要です。この問題を解決するには IE のフィルターを使用できることをマスターから学びました。 CSS コードは次のとおりです。

background: rgba(255,255,255,.1);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#19ffffff,endColorstr=#19ffffff);

2 番目の文は、前の行の透明度が機能しない場合に実行されることを意味します。この文の意味は、もともとグラデーションを作成するために使用されていました。ただし、ここではグラデーションは必要ありません。したがって、両方の色が同じ色に設定されます。

このカラー「#19ffffff」は2つのパーツで構成されていることに注意してください。

最初の部分は#の後の19です。 rgba 透明度 0.1 の IEfilter 値です。 0.1 ~ 0.9 の各数値は IEfilter 値に対応します。対応関係は以下の通りです:

2番目の部分は19以降の6桁です。これは 16 進数のカラー値です。これは、rgb 関数の値と同じである必要があります。たとえば、rgb(255,255,255) は #ffffff に対応し、両方とも白です。

現時点では、rgbaの使用はIE8と互換性があります。

以上がCSS で rgba() を使用するときに発生する問題と解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。