2011-07-12 15 views
1

私はいくつかのJavaScriptを使用してページを設定しているリストがあります。私はそれをテストしたすべてのブラウザですべてが正常に動作しますが、方向性ナビゲーションボタンの1つがIE7(IE8ではなく)にドロップされます。IE7浮動小数点数:浮動小数点の横に右に落ちる:左

screenshot

マークアップは次のようになります。

<div id="index_qa_nav" class="pagination_nav"> 
    <a class="previous_link" href>Prev</a> 
    <a class="page_link first active_page" href style="display: inline-block;">1</a> 
    <a class="page_link" href style="display: inline-block;">2</a> 
    <a class="page_link" href style="display: inline-block;">3</a> 
    <a class="page_link" href style="display: inline-block;">4</a> 
    <a class="page_link last" href style="display: inline-block;">5</a> 
    <a class="next_link" href>Next</a> 
</div> 

そして、CSS、次のようになります右:

.pagination_nav { 
    text-align: center; 
    clear:both; 
} 

.pagination_nav .previous_link { 
    float: left; 
    margin-left: 12px; 
    height: 16px; 
    width: 11px; 
    background: url(/gfx/pajination/pagination_arrows.png) no-repeat; 
    text-indent: -9999px; 
} 

.pagination_nav .next_link { 
    float: right; 
    margin-right: 12px; 
    height: 16px; 
    width: 11px; 
    background: url(/gfx/pajination/pagination_arrows.png) no-repeat -11px; 
    text-indent: -9999px; 
} 

.pagination_nav .page_link { 
    margin-bottom: 8px; 
    margin-right: 4px; 
    width: 9px; 
    height: 11px; 
    text-indent: -9999px; 
    white-space: nowrap; 
    background: url(/gfx/pajination/dots.png) no-repeat 0 1px; 
} 

.pagination_nav .active_page { 
    width: 11px; 
    height: 11px; 
    background: url(/gfx/pajination/dots.png) no-repeat -8px; 
} 

今、私は、なぜfloatを見つけ出すように見えることはできませんリンクはfloat:leftのリンクと同じレベルでは浮動しません。誰かがなぜ私にこのようなことが起こったのか説明できたら(それはIE < 7でしか起こらない)、私はとても感謝しています。これはあまりにも長い間私のお尻の痛みでした。

+1

'.next_link'を' .previous_link'の直後のマークアップに移動してみてください。ディスプレイ全体には影響しませんが、ここで問題を解決する可能性があります。 – Jon

+0

Jon - あなたのコメントから回答を作成してください、私はそれを受け入れます。 .previous_linkの横にある.next_linkを移動すると問題が解決しました。 –

+0

回答が作成されました。喜んで助けになる。 :) – Jon

答えて

2

.previous_link.next_linkの間のマークアップに表示される.page_linkの要素によって、ブラウザでレイアウトが正しく計算されないことがあります。

2つのリンクが関係なく、(あなたが.page_link要素の存在がレイアウトに影響を与えるべきではないことを知っている)、あなたは、単にマークアップで.next_linkを上に移動し、それを置くことができるものを最後にそれぞれの側に浮いてませんので、 .previous_linkの後。最終的な結果はより現代的なブラウザでも同じですが、並べ替えはIE7がページをレイアウトするときに同じ結論に達するのに役立ちます。

+0

私はちょうどこの質問に遭遇しました。もしあなたがHTMLを変更できないなら、どうしたらいいですか? (私はいくつかの質問に対していくつかの下投票を受け、一時的に質問をして特権を求めていましたが、それ以外の場合は新しい質問として尋ねます) –

+0

@RickDonohoe:本当に詳細に依存します。 – Jon

+0

コメントに合うものは....基本的にコンテナdiv(標準ページ幅〜960ピクセル)があり、その内部に3つのボタンがあります。 1つは左にフローティングされ、2番目のボタンの隣にあり、フロートはありません。 3番目のボタンはコンテナの反対側の右側に浮かんでいますが、ie7ではドロップします。私はDrupal開発から渡されたコードで作業していますので、非常に重要でない限り、実際に変更することはできません。返信のおかげで、ありがとうございました。 –

関連する問題