IE6 vs. IE7 vs. Firefox float Probleme

Status
Nicht offen für weitere Antworten.

outsidaa

Mitglied
Es ist unglaublich, wie haben schönes Wetter, leider bin ich noch CSS-Problem-Behaftet. Wir müssen das jetzt ganz schnell Lösen, obwohl es sehr trivial ist, komm ich einfach nicht hinter und zweifel schon an mir selber.

bei dem code:

HTML:
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title>New Document</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    
    <style type="text/css">

      * { border: 0; margin:0; padding: 0; }
      html,body {height:100%;}
      
      #header       {width:850px; background-color:blue; height:70px;}
      
      #page         {width:1003px;height:100%;}
      #page_right   {width:850px;}
      #page_left    {height:100%;width:150px; background-color:orange;float:left;}
      
      #content      {width: 850px;}
      #left_column  {width: 200px; float: left;}
      #center_column {width: 450px; float: left;}
      #right_column {width: 200px; float: left;}
    </style>

  </head>
  <body>
    <div id="page">
      <div id="page_left">
        <p>menu</p>
    <p>Hallo</p>
      </div>
      <div id="page_right">
        <div id="header">
          <h1>Header</h1>
        </div>
        <div id="content">
          <div id="left_column"><h1>Top Offers</h1></div>
          <div id="center_column"><h1>Quicksearch</h1></div>
          <div id="right_column"><h1>Advertising</h1></div>
        </div>  
      </div>
    </div>    
      
  </body>
</html>
das ganze sieht bei Firefox so aus, dass er den Header hinter die LeftMenu Box schiebt und insgesamt ne breite von 850 hat statt 1000.

beim ie6 habe ich einen abstand zwischen den boxen von 3 px obwohl alles auf null gesetzt ist.

und der IE7 zeigt es so an wie ich es gerne hätte.

Bilder im Anhang, würde mich freuen über schnelle Antwort, danke...

1. FirefoxScreenshot 2. IE6Screenshot 3. IE7 Screenshot

Lieben Gruß

Adam
 

Anhänge

  • fire.jpg
    fire.jpg
    28,8 KB · Aufrufe: 549
  • IE6.jpg
    IE6.jpg
    14,9 KB · Aufrufe: 469
  • ie7.jpg
    ie7.jpg
    15 KB · Aufrufe: 441
Das Problem mit dem Firefox hat sich erledigt.
Die Lösung war einfach ein margin-left mit der Eigenschaft !important die der IE7 und der IE6 nicht kennt.
Fragt sich also nur noch, wie der IE6 auf die 3px kommt? Das kann ich einfach nicht nachvollziehen ...
 
Hi,

versuch es mal mit diesem Stylesheet:

Code:
#page_left {
height:100%;
width:150px;
background-color:orange;
float:left;
margin-right: 0 !important;
margin-right: -3px; /* Für IE */
}

#center_column {
margin: 0 200px;

#right_column {
width: 200px; 
float: right;
}
und setze im HTML-Markup das DIV #center_column an die letzte Stelle:

Code:
<div id="content">
          <div id="left_column"><h1>Top Offers</h1></div>
          <div id="right_column"><h1>Advertising</h1></div>
          <div id="center_column"><h1>Quicksearch</h1></div>
        </div>
 
Danke für deine Antwort.
Dein Quellcode hat aber leider nicht den gewünschten Erfolg erzielt.
Erst als ich die negative margin-left-Eigenschaft für #page_right auf -3px gesetzt habe, hat der IE6 das Layout richtig dargestellt.
Code:
#page_right   {width:850px; margin-left: 150px !important; margin-left: -3px;}
#page_left    {height:100%;width:150px; background-color:orange;float:left; margin-right: 0!important; margin-right:-3px;}
Meine Frage: Warum MUSS die Angabe auf beiden Seiten gemacht werden? Hat das was mit margin-collapse zu tun?
 
Bei mir funktioniert der Vorschlag einwandfrei:
 

Anhänge

  • ie6.jpg
    ie6.jpg
    43,9 KB · Aufrufe: 330
Status
Nicht offen für weitere Antworten.
Zurück