• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

div layout

Status
Für weitere Antworten geschlossen.

balert

Neues Mitglied
Hallo,

ich habe in letzter Zeit, da es einfach zeitgemäßer ist, immer wieder versucht mit div anstatt table zu layouten! Doch habe ich dabei immer wahnsinnige probleme gehabt. nie wurde es wie ich wollte! Zb habe ich nicht vernünftig geschafft, dass drei Spalten die höhe gleichmäßig an die längste spalte anpassen. mit float hatte ich auch probleme!

Lässt sich das erklären? zB wozu man immer nach der verwendung von float ein clear verwenden sollte!? Gibt es allgemeine Anleitungen oder Tutorials oder Hinweise zur Verwendung von divs um damit zu layouten?!

danke schonmal
 
ich habe in letzter Zeit, da es einfach zeitgemäßer ist, immer wieder versucht mit div anstatt table zu layouten!
Da hat man Dir einen Bären aufgebunden, bzw. hat das je,and behauptet, der nicht wirklich verstanden hat, worum es "heutzutage" (eigentlich seit bald 10 Jahren) geht.
Layout mit div ist genauso sinnfrei wie Layout mit Tabellen.

Worum es geht:
HTML ist eine Strkuturbeschreibungssprache. Mit ihr wird festgelegt, was Dein Inhalt bedeutet, nicht mehr und nicht weniger. CSS ist die Layoutsprache, mit der Du das Design&Layout festlegst. Unter "Trennung von Inhalt und Layout" versteht man, dass man beides strikt voneinander trennt (das geht wunderbar, u.a. mit externen Stylesheets), weil es dann übersichtlicher wird, die Ladezeiten verkürzt und bei Redesigns (sogar bei extrem aufwändigen) nur noch die Stylesheet-Datei ausgetauscht werden muss (s. dazu auch den berühmten css Zen Garden: The Beauty in CSS Design).

Das Element <div> ist ein Element, das normalerweise nur beim Gruppieren mehrerer Elemente zwecks gemeinsamer Formatierung Anwendung findet. Es ist richtig, dass das div mitunter dabei hilft, ein Layout zu ermöglichen, niemals aber macht man Layout mit div. Das vermittelt den Eindruck, als lege man erstmal um seinen Inhalt einen Haufen divs. Das ist dann sogenannte div-Suppe und genausowenig im Sinne von HTML wie Tabellenlayouts.

Wie gehts nun wirklich? Mit "semantischem HTML". Das bedeutet, Du legst für Deinen Inhalt fest, was er bedeutet und verwendest die dafür vorgesehenen Tags: Überschriften werden mit <h1> bis <h6> ausgezeichnet, Textabsätze mit <p>, Adressen mit <address>, besonders wichtige Textpassagen zeichnet man mit <em> oder <strong> (stärker als <em>) aus. Das ist der eigentliche Sinn von HTML, und das ist das, was man "heutzutage" macht. HTML richtig anwenden und das Layout dann mit CSS machen. Und beides strikt voneinander trennen.

Diese Vorgehensweise ist - natürlich wenn man es kann - intuitiver, einfacher, logischer, weniger arbeitsaufwändig und besser für die Besucher als Tabellenlayouts.

Zb habe ich nicht vernünftig geschafft, dass drei Spalten die höhe gleichmäßig an die längste spalte anpassen.
Das machen sie auch nicht, denn das ist ein Verhalten von Tabellen.
Aber mit diesen Faux Columns (hab keinen Link parat, aber das kommt hier regelmäßig vor) kann man das simulieren.

mit float hatte ich auch probleme!
Es ist für den Anfänger auch nicht das leichteste, man muss wissen, was der "Textfluss" ist, denn gefloatete Elemente werden aus dem Textfluss genommen. Wenn man das mal kapiert hat und sich angesehen hat, wie nachfolgende Elemente sich verhalten, ist das nicht wirklich schwer.

zB wozu man immer nach der verwendung von float ein clear verwenden sollte!?
Das ist relativ einfach. Wenn Du floatest, fließen alle nachfolgenden Elemente um das gefloatete drumrum. Mit clear wird der Textfluss unter dem Element fortgesetzt, nicht daneben. Es ist aber grundsätzlich falsch zu sagen, dass man nach einem float immer ein clear verwenden muss. Das kommt natürlich auf das Ziel an, das umgesetzt werden soll.

Gibt es allgemeine Anleitungen oder Tutorials oder Hinweise zur Verwendung von divs um damit zu layouten?!
Nein, denn sowas gibts ja nicht, wie ich eingangs schon sagte. Layouten willst Du mit CSS. Und Auszeichnen willst Du mit HTML. Anleitungen zu beidem findest Du bei SELFHTML 8.1.2 (HTML-Dateien selbst erstellen), für CSS wird auch oft gelobt CSS 4 You - The Finest in Stylesheets.

Noch Fragen? Dann fragen! :-)

Gruß,
-Efchen

danke schonmal[/quote]
 
fragen? in der tat, denn meine eigentliche frage hast du noch nicht wirklich, bzw nur am Rande beantwortet!

Danke für die Einführung in HTML, wär nich nötig gewesen, ich mach seit 10 jahren html und hab kapiert was der Sinn davon ist, nur verwirren mich die divs doch immer wieder! Nach vielen versuchen hab ich mich nun entschlossen mal im forum nachzufragen. klar das was ich meine ist EIGENTLICH nicht html, sondern CSS, sonnenklar, geb ich zu, aber ich dachte ich formuliere die frage so einfach wie möglich!

und ja, man sollte die elemente dafür benutzen wofür sie gedacht sind, darum stört mich ja auch dass ich meine designs öfters mit tabellen gemacht habe, was ja definitiv nicht deren sinn ist!

also lass mich die frage neu formulieren: wie designet man webseiten mit schönem sauberem (vor allem valider Code ist mir wichtig) Quellcode, selbstverständlich MIT CSS, und ohne HTML Elemente zu missbrauchen!

Du hast außerdem die float geschichte, die mich so interessiert in einem nur knappen satz abgetan. Ja klar, float = textumfluss, und so weiter, hab auch viel experimente hinter mir, aber im gegensatz zu JEDEM anderen HTML element das mir je untergekommen ist (bin durch die liste bei selfhtml längst durch) leuchtet mir das float einfach nicht wirklich ein!

ich hoffe du bist nich beleidigt, weil du ja eine echt vorbildliche Antwort verfasst hast, die jedoch meine frage nicht ganz getroffen hat! danke trotzdem!
 
Zb habe ich nicht vernünftig geschafft, dass drei Spalten die höhe gleichmäßig an die längste spalte anpassen.

Das geht nur mit sogenannten Faux Columns, mit all seinen Vor- und Nachteilen.

A List Apart: Articles: Faux Columns
CSS-»Faux Columns« bzw. »Unechte Spalten« auf deutsch » die Netzspielwiese

wozu man immer nach der verwendung von float ein clear verwenden sollte!?

Mit floats lässt man den nachfolgenden Inhalt um das Element herum fließen. Das ist nur bis zu einer bestimmten Grenze gewünscht - diese Grenze bestimmt man mit clear. Einfach ausgedrückt.
 
Für den Anfänger vielleicht etwas trocken, aber ich hab bisher noch nichts besseres gefunden: Hier zwei Links, wo das Floaten und Clearen erklärt ist:
Float: Die Theorie
Float—die Theorie (Webdesign) | andreas-kalt.de

Ich versuch's mal ganz einfach zu erklären:
Die sogenannten CSS-Blockelemente, das können z.B. Textabsätze oder Div's sein, ordnen sich generell untereinander an. Will man nun zwei Blockelemente nebeneinander anordnen ("Spalten"), dann muss man eins floaten (z.B. float: left). Dieses steht dann links und das nachfolgende rechts davon (statt üblicherweise untendrunter).
Ganz so einfach ist es in Theorie und Praxis zwar nicht immer, aber es geht jetzt hier ja nur mal um das Grundprinzip.

Zur gleichen Spaltenhöhe hat threadi bereits einige Hinweise gegeben.
Hier noch ein weiterer: Faux Columns

Und falls du dich generell in CSS einarbeiten möchtest, ist vielleicht das ein Einstieg: Friedels Homepage - Anleitungen für HTML-Autoren und mehr

Buchempfehlung für den Einsteiger: "Jetzt lerne ich CSS" oder "Little Boxes".

Es erfordert sicher etwas Zeit und Lernaufwand. Aber wenn du mal das Prinzip kapiert hast, wirst vermutlich nicht mehr ohne CSS arbeiten wollen.
Viel Erfolg!
 
ich hoffe du bist nich beleidigt, weil du ja eine echt vorbildliche Antwort verfasst hast, die jedoch meine frage nicht ganz getroffen hat! danke trotzdem!
Hmpf.

Nicht wirklich beleidigt, eher enttäuscht darüber, dass Du mich so auf die Anklagebank stellst, ohne vorher gesagt zu haben, dass Du das schon alles weißt! Ein kurzer Hinweis hätte mir auch viel mehr Tipparbeit erspart und ich hätte Dir stattdessen das Prinzip des Textflusses erklären können. Aber da hast Du ja mittlerweile ein paar Links bekommen, das spar ich mir jetzt.

Deine Frage war die eines typischen Anfängers, der noch nicht begriffen hat, was HTML eigentlich ist: "Wie mache ich Layout mit divs?" - Da konnte ich nicht anders antworten. Und jemandem float groß und breit zu erklären, der nichtmal HTML kann, das wäre zu früh gewesen.

Gruß,
-Efchen
 
Ach was, ist schon okay :-)

In geschriebenen Medien sind Missverständnisse vorprogrammiert.
Schwamm drüber.

Sind noch Fragen offen?
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben