tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
13
ZUGRIFFE
750
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    campari campari ist offline Mitglied Brokat
    Registriert seit
    Nov 2004
    Beiträge
    267
    Habe mehrere DIVs mit fester Breite und variabler Höhe. Die stehen im HTML einfach untereinander weg.
    Nun sollen die in 2 Spalten aufgeteilt werden, immer ohne nennswerten Abstand anschliessend nach oben ans vorherige Element, so:

    Höhen-variable Divs nebeneinander-div-pair.png

    Wenn ich die left-floate zerhauts alles. Gibts irgendeine Chance das über CSS hinzubiegen, weil ans HTML komm ich nicht ran.
     

  2. #2
    Avatar von Starfox2007
    Starfox2007 Starfox2007 ist offline Mitglied Silber
    Registriert seit
    Apr 2010
    Beiträge
    87
    Poste mal deinen Code oder zumindest einen Auszug davon, denn float:left sollte hier funktionieren.
     

  3. #3
    campari campari ist offline Mitglied Brokat
    Registriert seit
    Nov 2004
    Beiträge
    267
    Code css:
    1
    2
    3
    4
    5
    
    #wrap {width:620px;}
    .box {width:300px;height:100px;border:1px solid red;margin:2px;float:left;}
    .small {height:150px;}
    .medium {height:200px;}
    .large {height:250px;}
    HTML-Code:
    <div id="wrap">
    	<div class="box large">#1</div>
    	<div class="box small">#2</div>
    	<div class="box large">#3</div>
    	<div class="box">#4</div>
    	<div class="box medium">#5</div>
    	<div class="box large">#6</div>
    	<div class="box">#7</div>
    	<div class="box small">#8</div>
    </div>

    Habs mal hochgeladen, hier sieht man die Abstände zum oberen Div jeweils. Es wird nicht gleichmässig, ohne Abstand verteilt:
    http://atomlol.at.funpic.de/extern/float.htm
     

  4. #4
    exestend exestend ist offline Mitglied
    Registriert seit
    Mar 2007
    Beiträge
    15
    Wenn div 1,3,5 und 7 im Wrapper sind müssen die Float left sein und die Boxen 2,4,6 und 8 müssen ebenfalls float:left ein,damit sie sich an den anderen Boxen orientieren..dann klappts auch mit den Boxen

    LG
    Geändert von exestend (04.12.11 um 15:12 Uhr)
     

  5. #5
    campari campari ist offline Mitglied Brokat
    Registriert seit
    Nov 2004
    Beiträge
    267
    Sind doch alle float:left. Versteh nicht was du meinst.
    Wie gesagt, das HTML krieg ich so geliefert, da ist nix zu ändern.
     

  6. #6
    Avatar von Starfox2007
    Starfox2007 Starfox2007 ist offline Mitglied Silber
    Registriert seit
    Apr 2010
    Beiträge
    87
    Code css:
    1
    2
    3
    4
    5
    
    #wrap {width:620px;}
    .box {width:300px;height:100px;border:1px solid red;margin:2px;float:left;}
    .small {height:150px; float:left;}
    .medium {height:200px; float:left;}
    .large {height:250px; float:left;}

    Probier mal die einzelnen auch zu floaten, auch wenn du es schon Global für Box gesetzt hast.
    Geändert von Starfox2007 (04.12.11 um 15:43 Uhr)
     

  7. #7
    Avatar von javaDeveloper2011
    javaDeveloper2011 javaDeveloper2011 ist offline Mitglied Brokat
    Registriert seit
    Feb 2011
    Beiträge
    445
    Blog-Einträge
    5
    Weiß nicht, ob exestend genau das meinte, aber was hältst du davon?
     

  8. #8
    Avatar von Starfox2007
    Starfox2007 Starfox2007 ist offline Mitglied Silber
    Registriert seit
    Apr 2010
    Beiträge
    87
    Habs gerade probiert damit sollte es gehen:

    Code css:
    1
    2
    3
    4
    5
    
    #wrap {width:620px;}
    .box {width:300px;height:100px;border:1px solid red;margin:2px;float:left;}
    .box small {height:150px;}
    .box medium {height:200px;}
    .box large {height:250px;}

    du hast die Klassen nicht richtig angesprochen.
     

  9. #9
    djheke djheke ist offline Mitglied Silber
    Registriert seit
    Sep 2011
    Beiträge
    96
    Dies Frage wurde doch schon einmal hier > gestellt. Hier mal ein Beispiel Die Klassen und Id's kannst du dir ja alle noch umbenennen.


    Wolltest du es so ?
    Geändert von djheke (04.12.11 um 16:46 Uhr)
     

  10. #10
    Avatar von hela
    hela hela ist offline Mitglied Smaragd
    tutorials.de Premium-User
    Registriert seit
    Oct 2004
    Beiträge
    1.123
    Zitat Zitat von campari Beitrag anzeigen
    ..., weil ans HTML komm ich nicht ran.
    Hallo,
    wenn das HTML unverändert bleiben soll, dann würde ich es einfach mal mit CSS3-multi-columns versuchen:
    HTML-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de-de" lang="de-de" >
    <head>
    <style type="text/css">
    	#wrap {
    		width: 620px;
    		-moz-column-count: 2;
    		-webkit-column-count: 2;
    		column-count: 2;
    	}
    	.box {
    		display: inline-block;
    		width: 300px;
    		height: 100px;
    		margin: 2px;
    		border: 1px solid red;
    	}
    	.small {height:150px;}
    	.medium {height:200px;}
    	.large {height:250px;}
    </style>
    </head>
    <body>
    	<div id="wrap">
    		<div class="box large">#1</div>
    		<div class="box small">#2</div>
    		<div class="box large">#3</div>
    		<div class="box">#4</div>
    		<div class="box medium">#5</div>
    		<div class="box large">#6</div>
    		<div class="box">#7</div>
    		<div class="box small">#8</div>
    	</div>
    </body>
    </html>
    Funktioniert mit den Mozilla- und den Webkit-Browsern, für IE müsste man m.E. ein Javascript einsetzen.
     

  11. #11
    fbfeix fbfeix ist offline Mitglied Gold
    Registriert seit
    Jul 2011
    Beiträge
    117
    machs doch einfach so:
    variabler geht es nicht:

    Code css:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    .left
    {
    float: left;
    width: 620px; /*bzw. dein Wert*/
    }
    .right
    {
    float: right;
    width: 620px; /*bzw. dein Wert*/
    }

    diese Klassen dann einfach deinen Divs zuordnen, je nachdem auf welcher Seite du sie haben willst
    Geändert von fbfeix (05.12.11 um 10:12 Uhr) Grund: Satzbautechnische Verbesserung
     

  12. #12
    campari campari ist offline Mitglied Brokat
    Registriert seit
    Nov 2004
    Beiträge
    267
    @fbfeix, so läufts auch nicht
    http://jsfiddle.net/K5eqd/


    Denke, dass hela leider Recht hat, und es irgendie über JS gelöst werden muss.
     

  13. #13
    fbfeix fbfeix ist offline Mitglied Gold
    Registriert seit
    Jul 2011
    Beiträge
    117
    und wieso machst dus nicht so?

    http://jsfiddle.net/K5eqd/4/
    und fügst dann in #1 deine divs ein und in #2 deine divs ein
     

  14. #14
    Avatar von TheBodo
    TheBodo TheBodo ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Ort
    Braunschweig
    Beiträge
    157
    Das wäre meine Idee:

    Code css:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    
    div {   
      width: 60px;  
      border: #ff0000 1px solid;
      margin: 10px 10px 10px 10px;
    }
     
    #wrap  {  
      width: 150px;
    }
     
    div.left {
      float: left;  
    }
     
    div.right {
      margin: 10px 10px 10px 80px; 
    }
     
    div.small {
      height: 20px;
    }
     
    div.medium {
      height: 40px;
    } 
     
    div.large {
      height: 60px;
    }

    Die Höhen in den Größen-Klassen sind nur zu Demozwecken da.
    Müssteste auch weglassen können.

    Alles auch zu finden unter:

    http://jsfiddle.net/K5eqd/31/
     

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 17.10.09, 18:26
  2. Antworten: 0
    Letzter Beitrag: 25.06.08, 16:26
  3. Antworten: 10
    Letzter Beitrag: 21.03.07, 13:33
  4. Höhen von divs 100%
    Von sra im Forum CSS
    Antworten: 1
    Letzter Beitrag: 25.01.06, 19:21
  5. variable tabellen-zellen-höhen
    Von ajay im Forum HTML & XHTML
    Antworten: 7
    Letzter Beitrag: 20.07.01, 21:21