奇妙な div レイアウトの問題があります。私はfooter
div を持っています。フッターは mozilla で適切に動作し、IE 7 と 8 では少しですが、primary-content
レイアウト内に表示されます。
以下のスクリーンショットを見つけてください。
グーグルですべての通常の解決策を見てきましたが、何もうまくいきませんでした。
この奇妙な問題を解決する方法を提案できますか?
編集:
私はdiv-collision-detection
ここで次のように採用しています:
//Detecting div collision
var class1 = '';
var class2 = '';
//primary
var cTop = jQuery('#primary').offset().top;
var cLeft = jQuery('#primary').offset().top;
var cBottom = jQuery("#primary").offset().top + jQuery("#primary").height();
var cRight = jQuery("#primary").offset().left + jQuery("#primary").width();
var cHeight = jQuery("#primary").height();
//myFooter
var fTop = jQuery('#myFooter').offset().top;
var fLeft = jQuery('#myFooter').offset().top;
var fBottom = jQuery("#myFooter").offset().top + jQuery("#myFooter").height();
var fRight = jQuery("#myFooter").offset().left + jQuery("#myFooter").width();
var fHeight = jQuery("#myFooter").height();
var divs = [
{class1:'#primary', top:cTop, left:cLeft, height:cHeight},
{class2:'#myFooter', top:fTop, left:fLeft, height:fHeight}
];
for (var i=0; i < divs.length - 1; i++)
for (var j=i+1; j < divs.length; j++)
{
var I=divs[i];
var J=divs[j];
if ( (I.top <= J.top && (I.top + I.height) >= J.top) ||
(J.top <= I.top && (J.top + J.height) >= I.top) ){
alert(I.class1 + " collides with " + J.class2);
//What to do here ??
}
}
私が理解していないのは、衝突を検出した後にフッターを押し下げるにはどうすればよいですか?