zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > CSS
Seite neu laden wie am besten viele div class=xxxx über css postitieren

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 03.07.2008, 19:57
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 01.08.2007
Beiträge: 18
vistree befindet sich auf einem aufstrebenden Ast
Standard wie am besten viele div class=xxxx über css postitieren

Hallo,
arbeite derzeit mit einem CMS (Drupal) bei dem Felder mit einem Modul als Ansichten gerendert werden.
Es gibt also auf einer Seite eine Liste nacheinander folgender Beschreibungen, die immer die gleichen Felder haben.
So, die Felder werden immer mit der div-Anweisung und einer zugeordneten Klasse ausgegeben und einfach untereinander gesetzt.
Ich möchte nun aber gerne 3 Felder links übereinander setzen, 3 rechts und 3 dazwischen. Die Felder müssen in der Höhe flexibel bleiben (Anzahl Zeilen kann variieren) aber die Breite sollte fest sein.

Habe gedacht, ich könnte einfach die linken felder jeweils mit float: left, die rechten mit float: right und die mittleren ohne float-Angabe im CSS setzen - ist aber nichts.

Wie geht man bei sowas korrekt vor??

Gruß

Kai
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 03.07.2008, 23:43
Benutzerbild von Fanatic
Veritas Aequitas
neuer user
 
Registriert seit: 02.07.2008
Beiträge: 8
Fanatic befindet sich auf einem aufstrebenden Ast
Standard

Ich würde es mal mit einem "globalen" div-container versuchen, in den du die anderen divs reinpackst und dann die einzellnen divisions innerhalb dieses containers mit position:relativ; und top,left,right,bottom positionierst.
__________________
"Als Hirte erlaube mir, zu dienen, mein Vater, Dir. Deine Macht reichst Du uns durch Deine Hand, diese verbindet uns wie ein heiliges Band. Wir waten durch ein Meer von Blut, gib uns dafür Kraft und Mut. In nomine Patris et Filii et Spiritus Sancti!"
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 04.07.2008, 00:07
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 01.08.2007
Beiträge: 18
vistree befindet sich auf einem aufstrebenden Ast
Standard

Hallo fanatic,
danke für die Antwort.
Leider kann ich die Div-Ausgabe nicht so einfach beeinflussen, da der HTML-Code von einem Modul erzeugt wird das ich nicht geschrieben habe.
Somit habe ich das Problem, dass ich da keine zusätzlichen Divs reinbekomme.
Wie könnte ich dann vorgehen?

Gruß
Mit Zitat antworten
  #4 (permalink)  
Alt 04.07.2008, 01:29
#
XHTMLforum-Kenner
 
Registriert seit: 30.06.2005
Ort: Hamburg
Beiträge: 2.092
IChao ist ein sehr geschätzer MenschIChao ist ein sehr geschätzer MenschIChao ist ein sehr geschätzer MenschIChao ist ein sehr geschätzer Mensch
Standard

du hast

123456789

und willst

147
258
369

ist das richtig?
__________________
Ingo Chao

Buch: Fortgeschrittene CSS-Techniken
Mit Zitat antworten
  #5 (permalink)  
Alt 04.07.2008, 01:53
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 01.08.2007
Beiträge: 18
vistree befindet sich auf einem aufstrebenden Ast
Standard

Ja, genau, wobei ich selber die Anordnung am Anfang bestimmen kann
147258369 aber rauskommen soll es immer genauso rauskommen wie bei dir!!

Noch wichtig: die Ausgangswerte können eine unterschiedliche Anzahl an Zeilen haben. Bei dem Einen Datensatz kann also z.B. die 1 drei Zeilen haben und die 2 nur eine, bei dem nächsten Datensatz könnte die 1 dann nur zwei und die 2 nur eine Zeile haben. Wäre also super, wenn die Divs ohne Abstand untereinander kämen.

Gruß
Mit Zitat antworten
  #6 (permalink)  
Alt 04.07.2008, 02:05
#
XHTMLforum-Kenner
 
Registriert seit: 30.06.2005
Ort: Hamburg
Beiträge: 2.092
IChao ist ein sehr geschätzer MenschIChao ist ein sehr geschätzer MenschIChao ist ein sehr geschätzer MenschIChao ist ein sehr geschätzer Mensch
Standard

Ich muss dich enttäuschen, glaube ich. Das geht nicht in CSS, zumindest nicht so, dass du die einzelnen Blöcke in die Seite hineinfließen lässt und sie sich dabei in Spalten anordnen. Selbst mit einer Liste ist so etwas kaum möglich, sieh mal diesen Artikel von Paul Novitski. Wenn die Programmlogik dir die Maße der Blöcke liefern könnte, dann wäre eine absolute Positionierung möglich, angepinnt wie Zettel an der Pinnwand, aber das ist alles andere als flexibel.
__________________
Ingo Chao

Buch: Fortgeschrittene CSS-Techniken
Mit Zitat antworten
  #7 (permalink)  
Alt 04.07.2008, 02:18
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 01.08.2007
Beiträge: 18
vistree befindet sich auf einem aufstrebenden Ast
Standard

Hi, so spät auch noch auf??? Danke für die erneute Antwort!
Also, die Breite der Blöcke kann ich selbst bestimmen. Nur die Höhe ist flexibel. Kann man DIVs fest mit dem linken Abstand aber mit automatischem Anschmiegen an den drüberliegenden DIV positionieren?
Geh jetzt mal in die Heia ... Aber bei diesem rumgemurkse vergißt man völlig die Zeit

Guts Nächtle

Kai
Mit Zitat antworten
  #8 (permalink)  
Alt 25.07.2008, 11:19
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 01.08.2007
Beiträge: 18
vistree befindet sich auf einem aufstrebenden Ast
Standard

Hallo, ich muss das Thema doch noch mal aufgreifen, weil ich immer noch keine Lösung gefunden habe ;-(
Wäre es möglich, DIVs so mit CSS zu formatieren, dass zumindest die rechten DIVs immer übereinander floaten.
Ganz konkret:
kann ich mehrere DIVs mit float:right bündig so übereinander setzten, dass alle anderen DIVs diese dann trotzdem links davon normal umfließen?
Habe versucht erst meine rechten DIVs im HTML-Teil einzufügen und jeden mit
Code:
float:right;
margin-left: 400px;
width: 180px;
zu formatieren. Wenn ich das nur mit einem DIV mache, funktioniert es, wenn ich es mit 2 oder mehr DIVs mache, so umfließen die restlichen DIVs diese nicht mher, sondern beginnen erst unter dem letzten gefloateten DIV.
Gibt es da abhilfe?

Gruß
Kai
Mit Zitat antworten
  #9 (permalink)  
Alt 25.07.2008, 11:24
Benutzerbild von Praktikant
Semantikbremse.
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Beiträge: 4.985
Praktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz sein
Standard

Hy, das ist ja normal. du kannst divs nebeneinander setzen indem sie mi float:left; immer an den rad drückst. sobald du dies bei einem weg lässt muss die clear:both; einsetzten und clearen. aber die nächstens divs kommen dann natürlich untereinander
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 25.07.2008, 11:33
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 01.08.2007
Beiträge: 18
vistree befindet sich auf einem aufstrebenden Ast
Standard

OK, ich suche immer noch verzweifelt nach einer Lösung für meine o.g. Problem, dass ich mehrer DIVs habe (die ich NICHT noch mal in umschließende DIVs packen kann!!), die flexible Höhen haben - und dennoch möchte ich Sie in drei Spalten organisieren.

Fällt da noch jemandem was ein? Gibt es vielleicht über CSS die Möglichkeit DIVs zu gruppieren?
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
div mit css über andere elemente platzieren ping CSS 6 20.08.2009 13:54
css Frage: Elemente im div verschieben hallo2008 CSS 2 05.08.2009 19:49
Linkverhalten im IE6 ChOpSueY! CSS 19 19.05.2008 22:48
einem Div mehrere CSS Klassen geben ?? nice CSS 4 22.03.2004 16:27
Wie am besten alte HTML Seite mit Tabellen in CSS Layout ? Fidi CSS 0 07.01.2004 11:27


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:36 Uhr.