1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

[CSS] IE6 rückt floatende Boxen zu weit ein - was tun?

Dieses Thema im Forum "Webmaster FAQ" wurde erstellt von Maik, 19. April 2008.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Maik

    Maik Gast

    IE6 rückt floatende Boxen zu weit ein - was tun?

    Die Ausgangssituation: In einem Elternblock sind zwei Spaltenblöcke eingebunden, die entsprechend ihrer Ausrichtung mit der float:left- bzw. float:right-Eigenschaft, sowie margin-left- bzw. margin-right-Eigenschaft ausgezeichnet sind.

    Der Außenabstand der beiden Boxen soll zum benachbarten Rahmen des Elternelements 50 Pixel betragen.

    Markup:

    Code (Text):
    1. <div id="wrapper" class="clearfix">
    2.      <div id="leftBox">leftBox</div>
    3.      <div id="rightBox">rightBox</div>
    4. </div>
    Stylesheet:

    Code (Text):
    1. #wrapper {
    2. width:650px;
    3. margin:0 auto;
    4. border:1px solid #000;
    5. }
    6.  
    7. #leftBox {
    8. width:250px;
    9. height:250px;
    10. float:left;
    11. margin-left:50px;
    12. background:#dfdfdf;
    13. }
    14.  
    15. #rightBox {
    16. width:250px;
    17. height:250px;
    18. float:right;
    19. margin-right:50px;
    20. background:#cfcfcf;
    21. }
    22.  
    23. .clearfix:after {
    24. content:".";
    25. display:block;
    26. height:0;
    27. clear:both;
    28. visibility:hidden;
    29. }
    30.  
    31. .clearfix {display:inline-block;}
    32.  
    33. /* Hides from IE-mac \*/
    34. * html .clearfix {height:1%;}
    35. .clearfix {display:block;}
    36. /* End hide from IE-mac */
    Das Ergebnis in den Browsern:

    float-container_modern-browser.jpg (Firefox, IE7, Netscape, Opera, Safari, usw.)

    float-container_ie6.jpg (IE6)

    Anhand des angelegten Maßbandes erkennt man deutlich, dass der IE6 die Außenabstände der beiden Boxen verdoppelt. Aus diesem Grund spricht man hier vom "IE Doubled Float-Margin Bug".

    Lösung:

    Die betroffenen Boxen zusätzlich mit display:inline auszeichnen:

    Code (Text):
    1. #leftBox {
    2. width:250px;
    3. height:250px;
    4. float:left;
    5. margin-left:50px;
    6. background:#dfdfdf;
    7. [B]display:inline;[/B]
    8. }
    9.  
    10. #rightBox {
    11. width:250px;
    12. height:250px;
    13. float:right;
    14. margin-right:50px;
    15. background:#cfcfcf;
    16. [B]display:inline;[/B]
    17. }

    mfg Maik
     
Status des Themas:
Es sind keine weiteren Antworten möglich.