Höhe von DIVs (tabellenartig) - alter Hut :-/

Höhe von DIVs (tabellenartig) - alter Hut :-/

Beitragvon Momro » 06.02.2012, 13:33

Hallo,

es ist nun wirklich ein leidiges Thema, das muss ich euch bestimmt nicht sagen. Ich möchte mich jetzt aber doch - mal wieder - mit CSS und DIVs beschäftigen und es anständig machen, statt 'ne Tabelle zu schustern. Also:

Es ist ein Zwei-Spalten-Layout. Links, wie gewohnt, die Nav Bar, rechts der Content.

Die Nav Bar besteht aus einem DIV mit einigen weiteren DIVs, die Buttons darstellen.

Der Content besteht aus DIVs, die eine Tabelle simulieren. 6 Spalten, 12 Zeilen. Mit "float: left" sieht das auch ganz gut aus.

Das Problem ist nun, wenn eine Zeile einen zu hohen Content hat, dann wird die nächste Zeile nämlich nicht in die nächste Zeile geruckt, sondern bleibt in der vorherigen Zeile, weil da ja noch Platz ist auf Grund des deutlichen Höhenunterschieds (100px vs. 20px).

Wie man das halt so macht, hab ich mit "float" und "display" rumgespielt, hat alles nicht geholfen.

Hier etwas Code, um das Design zu verdeutlichen:

Code: Alles auswählen
.step, .station, .place, .keyword, .requirement, .reward {
   float: left;
   width: 140px;
   height: auto;
}
.content {
  float: left;
  width: auto;
}
.row {
  <!-- ist noch leer -->
}
...
<div class="content" id="content">
   <div class="row">
      <div class="step">123</div>
      <div class="station">123</div>
      <div class="place">123</div>
      <div class="keyword">123</div>
      <div class="requirement">123</div>
      <div class="reward">123</div>
      <div>&nbsp</div> <!-- nachdem ich das eingefügt hatte, funktionierte der Zeilenumbruch erst richtig -->
   </div>
</div>


Also wie gesagt, wenn in der Spalte "requirement" der Inhalt 90px hoch ist und Reward und die nächste Step-Zeile nur 20px hoch sind, dann rutscht Step in die Zeile davor,weil da noch Platz ist, und das will ich natürlich nicht.

Wenn ihr mehr Infos braucht, sagt bescheid. Ich gebe gerne weitere Auskünfte :-)

Beste Grüße,
Momro
Momro
neu hier
 
Beiträge: 2
Registriert: 06.02.2012, 13:15

Re: Höhe von DIVs (tabellenartig) - alter Hut :-/

Beitragvon sejuma » 06.02.2012, 17:33

Zunächst mal was Grundsätzliches:
Es macht keinen Sinn, eine Tabelle mit divs nachzubauen und jede Tabellenzelle durch einen div zu ersetzen.
Divs sind vorgesehen für größere Bereiche einer HP, die sich eiheitlich darstellen lassen.

Für jeden einzelnen Navi-Button brauchst du in keinem Fall einzelne Divs. Das gibt die sogenannte "Div-Suppe".
Verwende besser eine ul-Liste mit einzelnen li's.
Also immer die HTML-Elemente, die sich von ihrem Sinn her semantisch anbieten.

Dein Höhenproblem könntest du vermutlich lösen, indem statt height: auto einen festen height-Wert in Pixeln angibst.
Möglicherweise kannst du auch dafür eine Liste verwenden.

Wenn es sich bei deinem Content um einen strukturierten, tabellarischen Inhalt handelt (z.B. eine Art Adressliste), dann spricht überhaupt nichts dagegen, dafür nach wie vor eine Tabelle zu verwenden. Denn für strukturiert tabellarische Inhalte sind nun mal Tabellen vorgesehen.
Hängt also vom Einzelfall ab.
Vielleicht kannst du mal einen Link zu deiner Seite posten, damit man alles im Zusammenhang sieht und besser beurteilen kann.
Bild
sejuma
Vielposter
 
Beiträge: 805
Registriert: 15.07.2009, 17:46

Re: Höhe von DIVs (tabellenartig) - alter Hut :-/

Beitragvon Momro » 06.02.2012, 18:01

Das stimmt. Mein Gott, ich fühle mich doof.

Tut mir leid für den Beitrag-Spam ;-)
Momro
neu hier
 
Beiträge: 2
Registriert: 06.02.2012, 13:15


Moderatoren: Laus, Moderatoren

Ähnliche Beiträge zu "Höhe von DIVs (tabellenartig) - alter Hut :-/"

Zurück zu: CSS für Fortgeschrittene

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste