Ilja: große Tabellen

yo,

Browser: IE 6.0

ich habe zwei div-boxen, inhalt und menue mit folgenden css anweisungen:

body, html, #kopf, #menue, #inhalt {
margin: 0;
padding: 0;
}

* {
font-family: Times New Roman, Verdana, monospace;
font-size: 14px;
}

body {
font: 100.01%;
background-color: #FFFFFF;
}

#menue {
float: left;
font-size: 13px;
margin-right: 30px;
}

#inhalt{
float: left;
margin-right: 10px;
}

die darstellung klappt sehr gut, allerdings passiert es mir, dass bei sehr breiten tabellen, er den gesamten (auch p elemente) inhalt nicht neben dem menu anzeigt, sondern untereinander, sprich der inhalt wird unterhalb des menues dargestellt. die tabelle hat keinerlei breitenangaben, passt sich also dem inhalt an. deswegen verwundert es mich ein wenig, warum er innerhalb einer sehr breiten tabellenspalte nicht umbricht.

wie kann erreichen, dass er genau das nicht mehr macht ?

Ilja

  1. yo,

    #menue {
    float: left;
    font-size: 13px;
    margin-right: 30px;
    }

    Also die gesamte Bildschirmbreite abzüglich 30px rechts.

    #inhalt{
    float: left;
    margin-right: 10px;

    Bleibt für die Breite des Inhalts noch 20px, nicht gerade üppig.

    die darstellung klappt sehr gut

    ... weil sich IE nicht um deine Breitenangaben kümmert.

    bei sehr breiten tabellen, er den gesamten (auch p elemente) inhalt nicht neben dem menu anzeigt, sondern untereinander, sprich der inhalt wird unterhalb des menues dargestellt.

    Aha, jetzt merkt der IE doch, dass breiter Text nicht in 20px darzustellen ist ...

    Kalle

    1. yo,

      Bleibt für die Breite des Inhalts noch 20px, nicht gerade üppig.

      wie kommst du darauf, dass nur noch 20px verbleiben. die breite der menue box sollte variabel sein, je nachdem wie breit dessen werte sind und float sorgt dafür, dass die inhalt box sich daneben setzt. und in der praxis klappt es auch wunderbar, nur eben nicht bei breiten tabellen. selbst wenn ich explizite breiten-angaben mit width mache, bleibt das problem erhalten.

      Ilja

      1. yo,

        Bleibt für die Breite des Inhalts noch 20px, nicht gerade üppig.

        wie kommst du darauf, dass nur noch 20px verbleiben. die breite der menue box sollte variabel sein, je nachdem wie breit dessen werte sind und float sorgt dafür, dass die inhalt box sich daneben setzt.

        Ja, stimmt. Bei mir sind die Boxen meist so voll, dass ich gar nicht auf die Idee komme ...

        Float meint ja eigentlich "fliessen". Wie soll eine grosse Tabelle um ein anderes Element herumfliessen können? Überschrift und die ersten Zeilen etwas kürzer, der Fuss dann breiter?

        Das ist wohl wieder so ein Fall, wo man die gute alte <table> fürs Layout bemühen muss. Oder experimentiere mal mit zwei übergeordneten div- Containern.

        Kalle

  2. #menue {
    float: left;
    font-size: 13px;
    margin-right: 30px;
    }

    #inhalt{
    float: left;
    margin-right: 10px;
    }

    Ich würde auch mal sagen, dass du hier Breiten angaben verwenden solltest. Da es nicht klar ist wie hier der Browser reagieren soll, offensichlicht macht der IE dann die Boxen so breit wie deren Inhalt und wenn dies für #inhalt zu breit ist, wird die Box unter #menue geschoben, genau wie du es mit float:left ja haben willst. float:left heißt ja nicht, dass du die Boxen zwingst nebeneinander zu sein, sondern du machst den Vorschlag, wenn es paßt das zu tun.

    Struppi.

    --
    Javascript ist toll (Perl auch!)