2012-01-17 7 views
1

こんにちは誰もこの問題で私を助けてくれることを願っています。CSS3PieとjQueryアニメーションのIE7バグ

私はCSS3Pieを使ってボックスの角を丸くし、IE7を含むすべてのブラウザで問題なく動作します。しかし、私のボックス内の要素にアニメーション(今度はslideToggle)を追加すると、IE30の起動は、position:relativeではなかったようになります。この要素は、5000px x 10000px +++の巨大なサイズになります。彼らが必要とするときにすべての要素はposition:relativeであると確信しています。

私はこのバグを以前に見ましたが、以前はCSS3PieファイルのいくつかのJS修正が含まれていましたが、もう一度見つけることができませんでした。

私が得ることができるすべての援助に感謝します。

おかげ ジミー

あなた缶は、ボックスはそれだけのサイト上の他の要素に渡って続けて終わるところ灰色の背景には終わっていないことを下の画像を参照してください。

You cans see on the image below that the gray background doesn't end where the box end it's just continues out over the other elements on the site.

これは

#grades .form-content { 
    margin:0 10px; 
    padding:10px; 
    width:93.8%; 
    background:#fff; 
} 

これは、ボックスのCSSで滑り落ちる要素のCSSです:

.m-pc {position:relative;} 

.m-pc .m-c { 
    position:relative; 
    padding:38px 21px 10px; 
    margin-bottom:25px; 
    border:1px solid #cbcbcb; 
    border-top:none; 
    -moz-box-shadow:0 1px 5px #e3e4e3; /* FF3.5+ */ 
    -webkit-box-shadow:0 1px 5px #e3e4e3; /* Saf3.0+, Chrome */ 
    box-shadow:0 1px 5px #e3e4e3; /* Opera 10.5, IE 9.0 */ 
    background:#f6f6f6; 
    behavior:url(/css/vendor/pie.htc); 
} 

.m-pc .m-h { 
    position:relative; 
    border:1px solid #cbcbcb; 
    -webkit-border-radius:6px 6px 0 0; 
    -moz-border-radius:6px 6px 0 0; 
    border-radius:6px 6px 0 0; 
    background:#eee; 
    background:-webkit-gradient(linear, 0 0, 0 bottom, from(#eee), to(#e5e5e5)); 
    background:-webkit-linear-gradient(#eee, #e5e5e5); 
    background:-moz-linear-gradient(#eee, #e5e5e5); 
    background:-ms-linear-gradient(#eee, #e5e5e5); 
    background:-o-linear-gradient(#eee, #e5e5e5); 
    background:linear-gradient(#eee, #e5e5e5); 
    -pie-background:linear-gradient(#eee, #e5e5e5); 
    behavior:url(/css/vendor/pie.htc); 
} 
+0

親要素の相対位置を入れようとしましたか?私は時々これが助けになることを知りました。 –

+0

はい、私は "私はすべての要素がポジションを持っていると確信しています。それはここでは問題ではありません。 –

答えて

0

ときには、ダブルマージンの問題かもしれませんがアニメーションが始まります、あなたはアニメーションのスタイルを投稿できますか?

#grades .form-content { 
    margin:0 10px; 
    *margin:0 5px; 
    *zoom:1; 
    padding:10px; 
    *padding:5px; 
    width:93.8%; 
    background:#fff; 
} 

問題は、アニメーションのスタイル自体から来ているようだ、またはあなただけのslideToggleを使用していますか?

+0

オリジナルの投稿にCSSコードを追加しました。 –

+0

更新された回答! – Philip

+0

はい、私はslideToggleを "slow"でしか使用していません。私はあなたの更新で何かが変わるかどうかを調べるつもりです。 –

0

私はこの投稿を今見つけることができませんが、別のポスターから助けても私には同じような問題が修正されました。アニメーションにコールバックを追加して位置を再計算します。

$('.your_div').animate(function() { 
      if ($.browser.msie) { 
       $(this).each(function() { $(this).resize(); }); 
      } 
     });