• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Frage zum Thema DIVs

shf10105

New member
Hi Leute,

Ich hoffe ihr könnt mir meine Frage beantworten :
Ist es mit DIVs möglich zwei nebeneinander stehende DIVs auf die selbe Höhe zu setzen, sodass man eine Linie mit Border ziehen kann.
Mein Problem - Ich kann nicht wissen, welcher der beiden DIVs größer ist.

Außerdem wüsste ich gerne, wie man im XHTML-Strict Modus einen DIV auf height:100%; setzten kann.
Indirekte Lösungen sind auch erwünscht.

Ein Beispiel für mein Problem : http://hassmann.as-accudo.de/cms/
In diesem Beispiel ist die Größe des Contents gesetzt. Das möchte ich aber nicht so machen.

Danke für eure Unterstützung.
 
1. Könntest Du die seitlichen Rahmen der DIVs weglassen. Dann wird eine untere Abschlusslinie (z.B. <hr />) einfach unter beide DIVs gesetzt und es fällt nicht auf.
2. Google -> Faux Columns

Du kannst unter xhtml den DIV einfach mit height:100% (IE) bzw. min-height:100% (Rest) auf 100% setzen. Wenn das ein Container werden soll, der die ganze Seite umfasst, musst Du zusätzlich noch body und html height:100% geben.
 
Danke erstmal für eure Lösungen.

@ein schlauer
Also das bedeutet, dass ich wieder auf meine alte Lösung umsteigen muss.
Ich wollte nämlich eigentlich von diesen Design spezifischen Tabellen wegkommen.
Man kann aber doch mit DIVs tabellenartiges Verhalten simulieren.

@slayer2206
Dein Lösungsansatzt zu meiner ersten Frage ist nicht schlecht, aber ich muss die Linie dazwischen haben.
Bei dem zweitem hatte ich html nicht auf height:100%; gesetzt.

Ich hätte dann aber noch eine Frage zum Thema des CSS-Tabellen Einsatztes über display.
Wie kann man dabei colspan oder rowspan setzten? Oder ist das gar nicht möglich?
 
shf10105 schrieb:
Danke erstmal für eure Lösungen.

@ein schlauer
Also das bedeutet, dass ich wieder auf meine alte Lösung umsteigen muss.
Ich wollte nämlich eigentlich von diesen Design spezifischen Tabellen wegkommen.
Man kann aber doch mit DIVs tabellenartiges Verhalten simulieren.

Wenn du ein Tabellenlayout hast, warum solltest du es dann nicht mit einer Tabelle lösen?

Wenn du mit CSS layouten willst, solltest du das Layout an die Technik anpassen. So ist es das Gleiche als ob du Tabellen als Layoutmittel benutzt, nur umgekehrt, du willst aus DIVs eine Tabelle bauen.
 
shf10105 schrieb:
Man kann aber doch mit DIVs tabellenartiges Verhalten simulieren.
Ja!! Natürlich kann man das.
Du kannst z.B., wenn du nicht weißt wie hoch deine divs werden, ein Hintergrundbild machen,
ein paar px hoch und über die ganze Breite, dieses Bild mit 2 Farben aufteilen, wenn du zwei
unterschiedlich farbige Spalten brauchst. Diese farblich sich unterscheidenden "Spalten" sind
dann immer vorhanden, egal wie hoch deine divs sind.

(leider hab ich gerade keine Beispielseite zur Hand, wenn ich noch eine finde, schreib ich's dir)

ein paar Templates findet man auf der Intensivstation

(außerdem kannst du, wenn du eine Linie dazwischen brauchst, einfach dem Navigationsbereich ein
border-right geben)

ich finde es ausgesprochen blöd, wenn du schon mit divs arbeiten willst, wieder auf Tabellen
umzusteigen :) :) Tabellen sind dafür gemacht, einen tabellarischen Inhalt aufzunehmen,
dass sie mal zum Layouten hergenommen wurden war vorgestern :)

Gruß
planet4.
 
@planet4
Aber dann kann man border-right oder border-left nicht mehr verwenden.


Nochmal zurück zu meiner Frage :
Ich hätte dann aber noch eine Frage zum Thema des CSS-Tabellen Einsatztes über display.
Wie kann man dabei colspan oder rowspan setzten? Oder ist das gar nicht möglich?
Kööntet ihr mir vielleicht da noch helfen?
 
shf10105 schrieb:
@planet4
Aber dann kann man border-right oder border-left nicht mehr verwenden.
:confused: warum nicht? das versteh ich jetzt nicht, du kannst doch den divs border-right/border-left geben?

Deine andere Frage versteh ich leider auch nicht "CSS-Tabellen Einsatztes über display" ??
meinst du, dass du die Tabellen über css formatieren willst - ja, das geht - willst du wissen,
ob man in der css-Datei auch colspan oder rowspan vergeben kann? - nein, das ist HTML

was anderes kann ich aus deiner Frage nicht rauslesen

wenn es dir wichtig ist, versuch doch die Frage noch mal genauer zu formulieren

planet4.
 
Ja aber wenn man mit display ein DIV zu einer Tabelle oder Tabellenzelle machen kann, wieso kann man dann kein colspan oder rowspan setzten.
Kann man da nicht irrgentwie tricksen?
Das muss doch irrgentwie gehen!

@planet4
warum nicht? das versteh ich jetzt nicht, du kannst doch den divs border-right/border-left geben?
Die Ränder gehen nicht von oben bis unten, wie ich es brache!
 
falls ich dich jetzt richtig verstanden habe:

du meinst die Eigenschaft display, der man verschiedene table...-Werte zuordnen kann

da das nicht von allen Browsern (und vom leider so weit verbreiteten IE überhaupt nicht)
unterstützt wird, würde ich das nciht verwenden

schau mal hier: http://www.css4you.de/display.html

ganz unten auf der Seite siehst du, welche Browser das unterstützen

planet4.
 
Wenn du nen Tabellenlayout machen willst, ist es schwachsinnig keine Tabelle dafür zu verwenden. Du kannst natürlich 2 Spalten nebeneinander auch mit divs erreichen (float), sobald du aber möchtest das beide Spalten auch gleich lang sind (sei es wegen unterschiedlichem Hintergrund, oder Trennstrichen) dann wirst du mit CSS immer tricksen müssen.
Dieser ganze Tabellenaufschrei ging in ersterlinie darum, nicht hunderte ineinander verschachtelte Tabellen zu verwenden. Aber ne Tabelle mit 2,3 Zellen für nen Layout zweckzuentfremden ist ok.

EDIT:
hab gerade noch mal deine Seite angeschaut, prinzipiel solltest du das aber so auch mit divs hinbekommen.
pack die linke und rechte Spalte als div nebeneinander in ein div, und gib den jeweils nen rechten bzw linken Border, dabei müssen sich die Pixel jedoch um border Breite überlappen (margin-left:-1px).

Ansonsten gibts auch nen <p>-Tag, steht für Paragraph und könnte nen paar divs bei dir ersetzten (date etc)
 
Zuletzt bearbeitet:
@shf10105

noch mal zu deinem Problem mit den Spalten und Rändern:

hier findest du ein Beispiel,
in dem die Hintergrundgrafik die eine Randlinie bildet und ein div die zweite Randlinie.

planet4.
 
Eben.

Es ist klüger eine Tabelle, für ein Tabellenartiges Layout zu verwenden, als versuchen für andere HTML Elemente Tabellenartige Eigenschaften zu erzwingen.

Im Prinzip solltest du versuchen zu verstehen, was wie HTML/CSS kann und dann darauf ein Layout aufbauen, dann würdest du nie auf die Idee kommen, abhängige Spalten und Zeilen für Elemente zu verwenden, da diese mit CSS nicht umgesetzt werden können.
Das hängt mit den Möglichkeiten von CSS zusammen, du sollst damit in die Lage versetzt werden, ein Layout umzusetzen, dass (zumindest theoretisch) auf allen Anzeigegeräten funktioniert und auf graphischen Systemen ein halbwegs ähnliches Layout hat.
Die Elemente sollen die Möglichkeit haben sich auf der Seite je nach Darstellungsfläche auszubreiten und anzuordnen, je starrrer du das Konstrukt machst umso schwieriger wird dies.
 
ein schlauer schrieb:
Eben.

Es ist klüger eine Tabelle, für ein Tabellenartiges Layout zu verwenden, als versuchen für andere HTML Elemente Tabellenartige Eigenschaften zu erzwingen.
nein. das ist leider völlig falsch. Man kann das natürlich machen, man kann alles mit Tabellen layouten.
Will man es aber so machen, wie es sein sollte, dann nimmt man Tabellen für einen tabellarischen Inhalt und
nicht fürs allgemeine Layout (Stichwort "semantisches HTML", muss ich hier einfach mal sagen,
oibwohl ich diese Bezeichnung nicht gelungen finde)
ein schlauer schrieb:
Die Elemente sollen die Möglichkeit haben sich auf der Seite je nach Darstellungsfläche auszubreiten und anzuordnen, je starrrer du das Konstrukt machst umso schwieriger wird dies.
Eben. :)
genau das haben sie ohne überflüssige Tabellen.

planet4.
 
Zurück
Oben