Is het mogelijk om de volgorde van DIV's anders te zetten dan de volgrode waarin ze opgebouwd zijn?

Ik wil bijvoorbeeld div 3 bovenaan,dan 2, 1 en 4.
En de DIV's hebben GEEN vaste hoogte.


<div id="container">
   <div class="1">
      tekst
   </div>
   <div class="2">
      tekst
   </div> 
   <div class="3">
      tekst
   </div> 
   <div class="4">
      tekst
   </div>
</div>
Bedoel je gewone positionering?

Ja dat kan

Of bedoel je divs die over elkaar heen gezet zijn?
Kun je iets duidelijker zijn? Het kan namelijk, op tientallen manieren. Bijvoorbeeld met PHP, of gewoon een vaste positie geven, of met javascript etc...
Zoals in mijn code te zien is het 1 container div waarin weer andere DIV's staan. 1,2,3 en 4
Qua HTML code staan deze dus letterlijk ook in die volgorde geschreven.
Maar nu wil ik met behulp van CSS deze volgorde aanpassen, dus niet de HTML code aanpassen.

Ik wil ze ook gewoon onder elkaar hebben,dus niet links of rechts van elkaar.

Hoop het zo duidelijker gemaakt te hebben
kun je nog duidelijker zijn? moeten de divs naast elkaar staan of onder elkaar? hebben ze vaste breedten/hoogten? heb je een link naar je situatie?
Staat er ook al te lezen ;)

Sander Z op 11/12/2013 12:18:27

Ik wil ze ook gewoon onder elkaar hebben,dus niet links of rechts van elkaar.


Sander Z op 11/12/2013 11:59:49

En de DIV's hebben GEEN vaste hoogte.


Breedte wordt vast of 100%
Nee, dat kan niet. Je HTML moet geschreven zijn in de volgorde van je pagina, waarom zou je ook anders willen?

#container {
  position: relative
}
#container > div{
  position: absolute
}


Dan kan je gelijk welke div zetten waar je wil.
bv.
{
top: 100px;
left: 100px;
}

Wouter J op 11/12/2013 16:47:07

waarom zou je ook anders willen?

Wel ja, inderdaad. Waarom zou je dit willen?

Met float: right; gebeurt het wel dat je een div hoger in de code zet, terwijl die div fysisch niet hoger staat.
Er zullen nog wel een aantal redenen zijn.

Maar ik zou het vermijden en ik zou het afraden.
Excuses voor mijn late reactie. Maar k ik had thuis een gecrashte server welke ik eerst weer up and running wilde hebben.

De reden waarom ik dit zou willen is omdat ik div 4 bijvoorbeeld boven div 2 wil plaatsen, maar div 4 wel afhankelijk is van wat er uiteindelijk in div 2 staat.
Maw, als ik div 4 fysiek als 2e zou gaan schrijven, kan ik deze dus niet afrondencompleet vullen.

Hoe doen jullie dit? Maken jullie een class aan welke jullie vullen met data en die geven jullie uiteindelijk weer??
Sorry, je bent nog steeds erg onduidelijk. Waarom moet div 4 boven 2 staan? Kun je misschien in een schets uitleggen wat je wilt bereiken?
Je genereert de code in php lijkt me? Anders zouden de divs ook niet op elkaar afgestemd kunnen zijn?

Wat je dan zou kunnen doen is door middel van If..Else aangeven of een DIV boven of onder moet worden geplaatst. Dit hoeft dus niet in de html/css code worden gedaan(altans: dit doet php dan).

<?php

/* Hier komen de divs uiteindelijk in te staan */
$output;

/* Het lijkt me dat je op een of andere manier een loop hebt in je code */
while(..){

/* En hier komt het belangrijke deel */
if($row['position']=='top'){

/* We plaatsen een div VOORAAN de output */
$output = "<div class='box'></div>" . $output;
}else{

/* We plaatsen een div ACHTERAAN de output (daar zorgt de punt voor) */
$output .= "<div class='box'></div>";
}

}

?>

Als dit niet is wat je bedoeld vraag ik me net als anderen hier af wat je nou daadwerkelijk wilt bereiken.

Reageren