Float:left nach clear:left -> neuer Absatz

Hallo zusammen,

ich bin noch ein Anfänger in Bezug auf html.

Hinter einem div-Container sind drei Container gefloatet. Den nächsten div-Container wollte ich in der nächsten Zeile mit wiederrum drei gefloateten Container setzen.

Die derzeitige Struktur sieht folgendermaßen aus.

...
...


 
 
...
...


 
 
...
...


 
 
...
...


 
 
...
...




 




 
...
...



 
 
...
...



 
 
...
...



 
 
...
...

Es funktioniert zwar, aber ist das sauber programmiert? Wie kann man den Code evtl. verbessern?

Gruß und Dank!

Moin,

ich bin noch ein Anfänger in Bezug auf html.

Deswegen stellst Du auch eine Frage nach CSS (so stehts zumindest im Subject) :wink:

Die derzeitige Struktur sieht folgendermaßen aus.

Naja, die ist ja derzeit noch sinnfrei, weil Du keinen Inhalt hast. Das ist - für einen Anfänger insbesondere - immer das erste, was man macht.
Dann zeichnet man den Inhalt erstmal logisch mit HTML aus (Semantik).
Erst dann solltest Du Dich ans Layout machen.

Wenn Du diesen Weg einschlägst, bist Du in der Lage, Inhalt und Layout sauber voneinander zu trennen, was eigentlich das A und O beim Erstellen einer Website ist.
Das, was Du derzeit mit HTML schaffst, ist unlogische div-Suppe und Du machst Layout mit HTML. Das ist aber nicht der Sinn von HTML.

Je nachdem, was da für Inhalt rein soll, fallen einige der divs u.U. weg oder werden durch andere Elemente ersetzt.

Es funktioniert zwar, aber ist das sauber programmiert?

Programmiert ist da gar nichts. Eine Programmiersprache zeichnet sich durch einen definierten Ablauf aus. Mit ihr kann man Bedingungen oder Schleifen und ähnliches realisieren. Das geht alles weder mit HTML noch mit CSS, weil beides Auszeichnungssprachen und keine Programmiersprachen sind.
Aber sauber ist das aus dem o.a. Grund nicht, weil man HTML nicht benutzen kann, solange es keinen Inhalt gibt, denn HTML bezieht sich ausschließlich auf den Inhalt. Ohne Inhalt kann man nicht sagen, ob das HTML richtig ist.

Wie kann man den Code evtl. verbessern?

Generell, indem Du die oben beschriebene Reihenfolge einhältst.
Und auch, indem Du die Trennung von Inhalt und Layout überall anwendest, also keine Inline-Styles verwendest, sondern ein externes Stylesheet, damit in Deiner HTML-Datei auch nur HTML ist und kein CSS.

Speziell, indem Du Deine Überschriften richtig sortierst. Es ist semantisch nicht logisch, dass Du nur Überschriften dritter Ordnung hast, aber keine Überschriften erster oder zweiter Ordnung.
Und ein div verwendet man nur, wenn man eine logische Gruppe anlegen will, aber ob Du hier eine Gruppe hast, kann man mangels Inhalte gar nicht beurteilen.

Bestimmt tauchen dazu noch Fragen auf, weil es ganz danach aussieht, als hättest Du die falschen Quellen erwischt, was den Sinn von HTML angeht. Bei HTML gehts nur um die Semantik. Nicht um das Layout und nicht um das Aussehen.

Wenn also noch Fragen sind, dann kannst Du entweder in die in FAQ:1161 verlinkte Einführung gucken oder hier fragen!

Viel Erfolg,
-Efchen

Danke!
Ok, das ist alles sehr viel für einen Anfänger.

Es ist halt so, dass ich einfach mit den DIV-Containern experimentiere.
Eine einfache Möglichkeit, etwas zu vereinfachen ist anstelle von

zu schreiben.

Moin,

Ok, das ist alles sehr viel für einen Anfänger.

Ja, aber das sind die Grundlagen, die man beherrschen muss, wenn man Webseiten schreiben will.

Es ist halt so, dass ich einfach mit den DIV-Containern
experimentiere.

Du kannst auch mit allen anderen Block-Elementen experimentieren. Mach nicht den Fehler, dass Du dem Tag, das nur eine logische Gruppe beschreibt, eine besondere Bedeutung zuteil kommen lässt. Viele machen den Fehler, dass sie zuerst das Layout machen und dazu ganz viele divs verwenden. Aus Sicht von HTML ist das einfach nur Quatsch.

Eine einfache Möglichkeit, etwas zu vereinfachen ist anstelle
von

zu schreiben.

Ja. Du kannst einem Tag beliebig viele CSS-Eigenschaften zuweisen.
Du solltest Dir aber lieber gleich angewöhnen, nur externe Stylesheets zu benutzen.

Noch besser ist bei Deinem vermuteten Wissensstand aber, dass Du ganz von vorne anfängst und erstmal HTML lernst, denn nur wenn die Basis aus HTML stimmt und semantisch einwandfrei ist, macht CSS Spaß und verursacht keine doppelte Arbeit. Sonst verrennst Du Dich in gefährliches Halbwissen, das nie so richtig zu funktionieren scheint.

Fragen? Fragen! Wer meckert (ich :smile: muss auch Rede und Antwort stehen.

Liebe Grüße,
-Efchen