ホームページ >ウェブフロントエンド >htmlチュートリアル >迷惑な IE7、8、半透明フィルター (フィルター:アルファ) の失敗、PNG の半透明の失敗 solution_html/css_WEB-ITnose

迷惑な IE7、8、半透明フィルター (フィルター:アルファ) の失敗、PNG の半透明の失敗 solution_html/css_WEB-ITnose

WBOY
WBOYオリジナル
2016-06-24 11:24:471565ブラウズ

IETest を使用して IE7 と 8 をテストしたところ、背景の透明度の設定が無効であることがわかりました。後でそれを解決する記事を見つけました。いくつかの情報を読んだ後、要約を作成しました。

いくつかの IE 半透明 CSS スタイル

IE8 では -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=50)" と書くことができます

IE7 では次のように filter:progid:DXImageTransform.Microsoft を書くことができます.Alpha(opacity=50);

IE6、IE7、IE8ではこのようにfilter:alpha(opacity=50)を書くことができます

progid:DXImageTransform.Microsoftの書き方は非常にわかりにくくめんどくさいです。 filter:alpha(opacity=50) の書き方;

情報を見ると、最初の 2 つの書き方は MS の ActiveX 技術に準拠しているとのことですが、3 番目の方法は ActiveX を持っていないようです。その本質は依然として ActiveX と同じです。これは Security Try disabling all active にあります。子要素は不透明です

最初の解決策は、背景を使用することです: rgba(255, 255, 255, 0.82);もう 1 つは、親 DIV を相対位置に設定し、元の DIV を絶対位置に設定することです。透明; 他の子要素は元の DIV と同じレベルに配置され、他の要素も location:Absolute に設定されます。これも解決策です

----- --------- -----------------

半透明の失敗に関する作者 iefans の記事を読んだ後、私は半透明の失敗の理由を

png で見つけました

IE7 と IE8 の両方を直接今回、IE8 で PNG の半透明が失敗する原因は不明ですが、360Safe の一部の動作に関連しているのではないかと考えています。

多くの状況が IE8 の png 効果に影響を及ぼしますが、今回は幸運にも、オンラインで方法を見つけ、レジストリを変更して問題を解決できました。ここでは、png レジストリ オプションの破損を引き起こす可能性のあるいくつかの状況をリストします。

1. (理由: .png に拡張子の値がないか、ブラウザーでエラーが発生しました)

[スタート] -> [regedit] を実行し、レジストリ HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerEmbedExtnToClsidMappings を開いて .png が存在するかどうかを確認します。 .png が存在しない場合は、その上のレイヤー (EmbedExtnToClsidMappings) をクリックし、右クリックして新しい項目を作成します。「.png」と入力して、「.PNG」をクリックし、デフォルト値をダブルクリックして、「clsid:02BF25D5-」を貼り付けます。数値データ「4B23-BC80-D3488ABDDC6B」の「8C17-」。

前回はこの方法でうまくいきましたが、今回はうまくいきません!

2. (原因: システム内の .png ファイルが破損しています)

[スタート] -> [ファイル名を指定して実行] を使用して、「regsvr32 c:windowssystem32pngfilt.dll」と入力します

登録中に「Loaded c:windowssystem32pngfilt.dll」が表示される場合。 dll がありますが、DllRegisterSever 入力ポイントが見つかりませんでした。このファイルは登録できません。」というメッセージが表示された場合は、ファイルが破損している可能性があるため、別のマシンから正常なファイルをコピーして上書きする必要があります。再度登録してください。

3. (理由: 私たちの素晴らしい Apple QuickTime プログラムがレジストリに干渉します)

Start->Run->regedit、レジストリを起動し、HKEY_CLASSES_ROOTMIMEDatabaseContent Type を見つけます

中国語の名前と文字化けした文字を置き換えるだけです[video/mp4] など、すべてです。

4. (理由: レジストリ情報が間違っています。これが今回の問題です。レジストリをマージすると、次の情報が問題のある情報を自動的に上書きします)

次の内容を .reg ファイルとして保存します。 , 次に、右クリック→「結合」をクリックします。

Windows レジストリ エディター バージョン 5.00

;Windows 用の PNG ファイル関連付けの修正

“PerceivedType”=”image ”

@=”pngfile”

”Content Type”=”image/png”

[HKEY_CLASSES_ROOT.PNGPersistentHandler]

@=”{098f2470-bae0-11cd-b579-08002b30bfeb }"

[HKEY_CLASSES_ROOTpngfile]

@ =”PNG 画像”

”EditFlags”=dword:00010000

“FriendlyTypeName”=hex(2):40,00,25,00,53,00,79,00,73,00 ,74,00,65,00,6d,00,52,

00,6f,00 ,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00 ,74,00,65,00,6d,00,33,00,

32,00 ,5c,00,73,00,68,00,69,00,6d,00,67,00,76,00 "ImageOptionFlags" ”=dword:00000003

[HKEY_CLASSES_ROOTpngfileCLSID]

@=”{ 25336920-03F9-11cf-8FD0-00AA00686F13}”

[HKEY_CLASS ES_ROOTpngfileDefaultIcon]

@=”shimgvw.dll,2″

[HKEY_CLASSES] _ROOTpngfileshell]

@=”開く”

[ HKEY_CLASSES_ROOTpngfileshellopen]

“MuiVerb”=”@shimgvw.dll,-550″

[HKEY_ CLASSES_ROOTpngfileshellopencommand]

@=”rundll32.exe C:WINDOWSsystem32shimgvw.dll,ImageView_Fullscreen %1”

[HKEY_CLASSES_ROOTpngfileshellopenDropTarget]

“Clsid”=”{E84FDA7C-1D6A-45F6-B725-CB2 60C236066}”

[HKEY_CLASSES_ROOTpngfileshellprintto]

[HKEY_CLASSES_ROOTpngfileshellprinttocommand]

@=”rundll32.exe C:WINDOWSsystem32shimgvw.dll,ImageView_PrintTo /pt ”%1” ”%2” ”%3” ”%4”"

[HKEY_CLASSES_ROOTSystemFileAssociations.PNG]

“ImageOptionFlags”=dword:00000003

[-HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.PNG]

[-HKEY_CLASSES_ROOTMimeDatabaseContent Typeimage/x-png]

[-HKEY_CLASSES_ROOTMimeDatabaseContent Typeimage/png]

[HKEY_CLASSES_ROOTMimeDatabaseContent Typeimage/png] /x-png]

“拡張子”=”.png”

”画像フィルター CLSID”=”{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}”

[HKEY_CLASSES_ROOTMimeDatabaseContent Typeimage/x-pngビッツ]

「0」=16進数:08,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,89,50,4e,47,0d,0a,1a,0a

[ HKEY_CLASSES_ROOTMimeDatabaseContent Typeimage/png]

“拡張子”=”.png”

”画像フィルター CLSID”=”{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}”

[HKEY_CLASSES] _ROOTMimeDatabaseコンテンツ タイプimage/pngBits]

“0 ''=hex:08,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,89,50,4e,47,0d,0a,1a,0a

[HKEY_CLASSES_ROOTCLSID{ A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}]

@=”CoPNGFilter クラス”

[HKEY_CLASSES_ROOTCLSID{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}] InProcServer32]

@=”C:WINDOWSsystem32pngfilt.dll”

“ThreadingModel”=”両方”

[HKEY_CLASSES_ROOTCLSID{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}ProgID]

@=”PNGFilter.CoPNGFilter.1”

[HKEY_CLASSES_ROOTPNGFilter.CoPNGFilter]

@ =”CoPNGFilter クラス”

[HKEY_CLASSES_ROOTPNGFilter.CoPNGFilterCLSID]

@=”{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}”

[HKEY_CLASSES_ROOTPNGFilter.CoPNGFilter.1]

@=”CoPNGFilter クラス”

[HKEY_CLASSES_ROOTPNGFilter.CoPNGFilter.1CLSID]

@=”{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}”

当PNG瞬間filter:alpha

IE系列のPNG问题です長い間、IE6 から IE7/8 までのサポートがサポートされていないという問題があり、その問題はまだ解決されていませんが、不健全な点も数多くあります。フィルター: アルファの状況、非常に奇妙な現象、PNG は IE7 の下で表示されます。透明度その結果、IE7 (IE8 も含む) では半透明 PNG のサポートが提供されていますが、このサポートは健全ではありません。画像 (または背景の要素として半透明 PNG を使用) が透明度を設定すると、PNG 画像の半透明部分が暗く表示されることがあります (ただし、不透明部分が表示されることはよくあります)。これは、標準の CSS3 プロパティではなく、私が所有する CSS フィルター方式です。さらに、IE 透明フィルター自体にはバグが存在します。当然ながら、ここには多くの評価がありません。」

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