CSS - Box-Layout

  • Hi allerseits,

    ich habe mich in letzter zeit fast nur mit php und mysql beschäftigt, und bin nun leider in css alles andere als fit. Momentan habe ich Probleme ein Layout so hinzukriegen wie ich es mir vorstelle.
    Ich denke eigentlich, dass mein Vorhaben nicht besonders kompliziert ist, aber irgendwie kriege ich es nicht hin.
    Falls sich ein CSS-Kenner meiner Annehmen würde wäre ich sehr dankbar. (Auch schon für hilfreiche Links, selfhtml hat mich leider nicht weitergebracht, vielleicht check ich es aber auch einfach noch nicht richtig).

    Mein CCS:

    Mein HTML:

    URL: http://www.oliverkray.com/tests/test.html

    Vielen Dank schonmal im Vorraus!

    Edit: Sorry, hatte den umschließenden div-bereich vergessen

  • Ohne jetzt bereits ins Problemdetail zu gehen:
    Zunächst solltest du einige grundsätzliche Dinge beachten:

    Deiner Seite Fehlt ein Standarddoctype. Das hat zur Folge, dass der IE das CSS-Boxmodell nicht richtig darstellen kann und es in diesem Browser bereits allein deshalb zu unterschiedlichen Darstellungen kommt. Der Doctype gibt sozusagen an, in welcher "Sprache" die Seite erstellt wurde. Da gibt es gewisse Abweichungen.
    Schreibe deshalb mal das in die allererste Zeile des Quelltextes:

    Code
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/html4/loose.dtd">

    Nähere Infos zum DT siehe http://de.selfhtml.org/html/allgemein…htm#dokumenttyp

    Der zweite Fehler liegt darin, dass du zwischen jedem Div einen Zeilenumbruch eingefügt hast.
    Lass also mal überall die "
    " weg.

    Nun zu einigen Details:

    Du verwendest unterschiedliche Bezeichnungen:
    Im CSS-Teil schreibst du "Seite" groß, im HTML-Teil klein.
    Verwende am besten durchgehend Kleinschrift. Den vorangestellten div musst du nicht erwähnen, spart Quellcode.
    Also statt bisher "div#Seite" besser "#seite"

    Im body zentrierst du die Schrift, um sie auf #Seite wieder auf linksbündig zu stellen. Beide Angaben sind unnötig, in beiden Elementen kannst du die text-align-Angabe weglassen.

    Solche Sachen lassen sich wesentlich vereinfachen:
    Statt bisher

    Code
    border-width:0 5px 0 0; border-color:#2b6196; border-style:solid;


    Besser:

    Code
    border-right: 5px solid #2b6196;

    Wenn das alles bereinigt ist, solltest du nochmal prüfen, ob die Summe der inneren Div's unter Berücksichtigung von Rahmen, padding und margin so groß ist wie die Breite von #seite. Ansonsten passen sie da nicht rein.

    Versuche mal, diese Punkte abzuarbeiten und dann sollte es schon besser aussehen.

  • Vielen Dank Sejuma!
    Ich bin die Punkte durchgegangen und jetzt sieht es wirklich schon besser aus, in allen browsern ausser dem ie schon so wie es soll. Code im eröffnungspost ist auf den aktuellen stand editiert.
    Der ie haut mir zwischen die oberen 3 boxen noch einen kleinen abstand den ich mir nicht ganz erklären kann. Falls da jemand eine Erklärung weiß wäre ich sehr dankbar. Ansonsten lässt sich das ja auch durch setzen des gleichen hintergrunds für das umschließende div anpassen.

    No0ob: arx, tatsache, das hatte ich vergessen.... sorry, ich hatte gestern schon zu lange dran gesessen und irgendwie nicht dran gedacht, dass für andere natürlich nicht selbstverständlich ist wo das Problem liegt.

    @Firefox: Nochmals vielen Danke für deine nette Hilfsbereitschaft. Ich wollte schon immer gerne mal einen freund haben --> gidf.de
    Aber einmal posten hätte doch auch gereicht, meinst du nicht?

  • das problem welches du damit ansprichst (#navigation) wollte ich mit deinem vorschlag in diesem thread lösen: https://www.forum-hilfe.de/viewtopic.php?t=41333
    was ich meinte waren die 3 div-bereiche nebeneinander ganz oben, also #tbanner, #wbanner, #spr.
    da war im internet explorer jeweils eine lücken von ca. 3 px
    das habe ich aber gelöst indem ich einfach für #seite "background-image:url(bg_lightblue.jpg);" gesetzt habe.
    #seite wird dann nach #topnavi geschlossen und für #navigation, #inhalt und #bottomnavi ein neuer container geöffnet wo ich faux columns nutze.
    :)