Christoph Schnauß: positionierung ie vs. firefox

Beitrag lesen

hallo,

habe im layout zei <div> container untereinander gesetzt. der firefox stellt sie aber nebeneinander.

Du hast sie eben _nicht_ untereinandergesetzt. Und deine Seite ist geradezu ein Paradebeispiel dafür, wie man es nicht machen sollte - du vermischst DIVs und deine Tabellen, schachtelst sie ineinander ein. Wenn du ganz und gar auf die Tabelle verzichten würdest, kämest du weiter. Der Fehler liegt in deiner Verschachtelungsstruktur. Bisher hast du da stehen:

<div id="top">  
    <div id="navi_block">  
        <ul id="main_navi">  
            <li><a href="http://kamasha.de/cms/front_content.php?idart=208&idcat=109">Beratungs-<br>Hotline</a></li>  
            ...  
        </ul>  
    </div>  
  
    <div id="content">  

Dadurch wirkt "top" als Rahmen, in dem "navi_block" und "content" nebeneinander stehen.

Du kannst das beheben, indem du "top" rechtzeitig schließt, wodurch dann "top" und "content" tatsächlich untereinander stehen - beide sind ja auch 1010Pixel breit. Also so:

<div id="top">  
    <div id="navi_block">  
        <ul id="main_navi">  
            <li><a href="http://kamasha.de/cms/front_content.php?idart=208&idcat=109">Beratungs-<br>Hotline</a></li>  
            ...  
        </ul>  
    </div>  
</div>  
  
<div id="content">  

Mit CSS allein ist dein Problem nicht zu beheben. Du solltest dir deine HTML-Struktur genau anschauen und übrigens auch berücksichtigen, was der Validator sagt. Außerdem passiert auch genau das, was eben bei einem "klassischen" Pixellayout passiert. Deine 1010Pixel führen zum Beispiel bei mir zwingend zu Scrollbalken.
Und es wäre wohl auch zu überlegen, ob du tatsächlich so viele "IDs" brauchst, oder ob es nicht sinnvoller ist, nur bestimmten "großen" Containern wie "top" und "content" eine ID zu geben, allen Elementen, die dann innerhalb dieser Container angeordnet werden sollen, dafür Klassennamen zuzuweisen - das ergibt zumindest mehr Übersichtlichkeit. Außerdem macht es keinen Sinn, wenn du schon eine zentrale CSS-Datei hast, ins HTML selbst auch nochmal CSS-Angaben zu schreiben.

Und noch ein kleiner Tip: wenn du glaubst, daß irgendwas mit deinen Container nicht korrekt ist, dann setze mal während der Entwicklung einfach ein border: 1px solid red dazu.

Grüße aus Berlin

Christoph S.

--
Visitenkarte
ss:| zu:) ls:& fo:) va:) sh:| rl:|