まず第一に、cssは通常のブラウザー用です。
Copy Source | Copy HTML div { background : green ; /* ie */ -webkit-box-shadow: 0px 0px 15px #222 ; -moz-box-shadow: 0px 0px 15px #222 ; box-shadow: 0px 0px 15px #222 ; }
Copy Source | Copy HTML div { background : green ; /* ie */ -webkit-box-shadow: 0px 0px 15px #222 ; -moz-box-shadow: 0px 0px 15px #222 ; box-shadow: 0px 0px 15px #222 ; }
Copy Source | Copy HTML div { background : green ; /* ie */ -webkit-box-shadow: 0px 0px 15px #222 ; -moz-box-shadow: 0px 0px 15px #222 ; box-shadow: 0px 0px 15px #222 ; }
Copy Source | Copy HTML div { background : green ; /* ie */ -webkit-box-shadow: 0px 0px 15px #222 ; -moz-box-shadow: 0px 0px 15px #222 ; box-shadow: 0px 0px 15px #222 ; }
Copy Source | Copy HTML div { background : green ; /* ie */ -webkit-box-shadow: 0px 0px 15px #222 ; -moz-box-shadow: 0px 0px 15px #222 ; box-shadow: 0px 0px 15px #222 ; }
Copy Source | Copy HTML div { background : green ; /* ie */ -webkit-box-shadow: 0px 0px 15px #222 ; -moz-box-shadow: 0px 0px 15px #222 ; box-shadow: 0px 0px 15px #222 ; }
Copy Source | Copy HTML div { background : green ; /* ie */ -webkit-box-shadow: 0px 0px 15px #222 ; -moz-box-shadow: 0px 0px 15px #222 ; box-shadow: 0px 0px 15px #222 ; }
つまり、box-shadowプロパティを実装する本質は、異なる方向の値を使用してシャドウフィルターを4回適用することです。 したがって、コンテナの輪郭全体が影で囲まれ始めます。
Copy Source | Copy HTML
- <!-[IEの場合]>
- < スタイルタイプ= "text / css" >
- div {
- フィルター :
- progid:DXImageTransform.Microsoft.Shadow( color = '#042b47'、Direction = 45、Strength = 6 )
- progid:DXImageTransform.Microsoft.Shadow( color = '#042b47'、Direction = 135、Strength = 6 )
- progid:DXImageTransform.Microsoft.Shadow( color = '#042b47'、Direction = 225、Strength = 6 )
- progid:DXImageTransform.Microsoft.Shadow( color = '#042b47'、Direction = 315、Strength = 6 );
- 位置 : 相対 ;
- top : -12px ;
- 左 : -12px ;
- ズーム : 1 ;
- }
- </ スタイル >
- <![endif]->
注目に値するいくつかのニュアンス:
- フィルターを使用すると影が暗くなります。したがって、同一性を実現するには、色と強度のパラメーターをいじる必要があります
- IEはブロックのサイズをシャドウの幅だけ増やします。各サイドには基本的に2つのシャドウがあるため、サイズの増加は2倍になります。 つまり 最後に、式left = top =-(strength * 2)に従ってブロックを相対的に左上に移動する必要があります
- IE6およびIE7はhasLayoutを必要とするため、ズームを1に設定します(または、hasLayoutを割り当てる幅、高さ、およびその他のプロパティ)。
- ブロックの場合、背景を設定する必要があります。そうしないと、フィルターが子要素に適用されます
短所:
- フィルターは常に追加のブレーキです
- IEはフィルター付きブロック内のテキストのアンチエイリアスをオフにします
- IEの影は他のブラウザーの影と形状が異なります(より正方形)
- AlphaImageLoaderはこうして作成されたブロック内で動作しなくなります(他のフィルターもチェックしなかったのかもしれません)
最後の例 。
それだけです ご清聴ありがとうございました。