ホームページ >ウェブフロントエンド >htmlチュートリアル >CSS で rgba() を使用するときに発生する問題と解決策
今日問題が発生しました。ページに半透明の白い 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 番目の文は、前の行の透明度が機能しない場合に実行されることを意味します。この文の意味は、もともとグラデーションを作成するために使用されていました。ただし、ここではグラデーションは必要ありません。したがって、両方の色が同じ色に設定されます。
最初の部分は#の後の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 サイトの他の関連記事を参照してください。