2011-07-08 23 views
0

質問をブラウジングしていて、これを検索していましたが、この問題の修正が見つからないようです。レイアウトは、IE7(驚き)を除いてどこでもグリッドにとって完璧に見える。IE7余分なスペース/ DIV間の埋め込み

http://lalive-branch.aeg-webdev.com/

ボックスは全て互いに5つの画素範囲内であるべきであるが、IE7でのdiv以下の間隔が完全にしくじっ得ます。ブラウザ間の表示の違いを最小限にしようとするいくつかの修正がありますが、これは私の心を完全に邪魔します。

洞察または助けがあれば幸いです。 jqueryエラーなどを無視してください:)、ありがとうございます。

+0

これらのボックスの周りにリンクがありますか?時々リンクがこの小さなボトムパッドを作成し、私はリンクをフローティングするとそれを解決すると信じています。 – Joonas

+0

ちょっとLollero、いいえ - ボックスの周りにリンクがありません。それは明らかに引き起こされたようです:両方とも。 gridRow上にある。なぜそれが起こった...私は知らない。あなたの時間をありがとう。 – Ruth

答えて

0

を削除:のためのあなたのCSSコードの内部clear:both

.gridRow {display:block; /* Remove - clear:both; */} 

そして、それが動作しますすべてのブラウザで

+0

Ahsanに感謝します。 – Ruth

+0

'clear:both'実際にはそうです; "左または右のいずれの側にもフローティング要素は許されない"。 –

0

このcssのエラーを解決するには、スクリプトを使用する必要があります。

あなたのコアには1つのjavascriptを作成する必要があり、このスクリプトでは以下のような1つのメソッドを作成する必要があります。

if(browser_version == 7 || browser_version == 8){ document.getElementById( "your_div")。style.padding =あなたが望むようにパディングします。 } else { document.getElementById( "your_div")。style.padding =デフォルトのパディング。 }

これは、ブラウザのCSSエラーの原因になると思います。インサイド.gridRowが明確削除

1):両方は、あなたがオーバーフロー属性を追加することを検討すべきであると.gridRowはのinsted内のすべてのマージンやパディングを入れ

+0

私はそれをショット、感謝を与える! – Ruth

0

はあなたのCSS内のいくつかの変更を行う必要があります。グリッドボックス。レイアウトが変更されたときにクラスを1つだけ変更する必要があるため、より良い方法です。

.gridRow { 
    /*clear: both;*/ 
    display: block; 
    margin-top: 5px; 
    overflow: auto; 
} 
+0

ありがとう非常にr.pie!これにより、マージンがすべて消去され、上記のgridRowにフラッシュされますが、修正するために1つの単一の条件付きCSSを追加する方が簡単です。しかし、まだ修正プログラムを探しています。ありがとうございました。 – Ruth

0

だけIE7のスタイルをしたい場合は、あなたがタグに以下を追加することができます。

<!--[if IE 7]> 
<style type="text/css"> 
.myIE7onlyClass {/*styles here*/} 
</style> 
<![endif]--> 
+0

Marcさん、ありがとうございます。私は一般的に条件付きのCSSを避けますが、この問題が私を困惑させてしまったので、私はそれをやるかもしれません。 – Ruth

+0

ええ、私は通常それを避けようとしていますが、時には古いInternet Explorerのブラウザが再生されません:) Cheerz –

関連する問題