IE 6のposition:fixed
991 ワード
手元のプロジェクトでは、ブラウザウィンドウの右下隅にフローティングレイヤを制御するには、「position:fixed」で制御するのが最適です.
しかし、万悪のIE 6はこの属性をサポートしていない.以前に採用された方法は、スクロールバーをbodyに移動し、絶対位置決めを使用して浮層位置を制御することである.JSを使用してリアルタイムでスクロールを判断し、フロート位置を設定します.
第1の方法の限界が大きすぎて、ページに他の絶対的な位置決め要素が影響を受けます.2つ目の方法は、ページにタイマーを追加する必要があり、リソースのオーバーヘッドと時間コストが少し高いです.
その後、同僚の卓さんの啓発の下で、CSS式を使ってIE 6の互換性を完成しました.コードは以下の通りです.
http://www.oncoding.cn/2010/ie6-position-fixed/
しかし、万悪のIE 6はこの属性をサポートしていない.以前に採用された方法は、スクロールバーをbodyに移動し、絶対位置決めを使用して浮層位置を制御することである.JSを使用してリアルタイムでスクロールを判断し、フロート位置を設定します.
第1の方法の限界が大きすぎて、ページに他の絶対的な位置決め要素が影響を受けます.2つ目の方法は、ページにタイマーを追加する必要があり、リソースのオーバーヘッドと時間コストが少し高いです.
その後、同僚の卓さんの啓発の下で、CSS式を使ってIE 6の互換性を完成しました.コードは以下の通りです.
_position
:
absolute
;
_top
:expression(document.documentElement.clientHeight -
213
+ (e=document.documentElement.scrollTop) +
'px'
);
/*
document.documentElement.clientHeight :
200 :
(e=document.documentElement.scrollTop) :
*/
http://www.oncoding.cn/2010/ie6-position-fixed/