Hallo PHP-ers,

Ik heb een div
.container
{
width : 300px;
heigth : 50px;
}

In deze div komt soms, dus niet altijd links een div
.divlinks
{
float : left;
width : is varierent van 10px tot 100px
heigth : 50px;
}

En soms ook een rechts, dus ook niet altijd
.divrechts
{
float : right;
width : is varierent van 10px tot 100px
heigth : 50px;
}

Nu zoek ik een manier om een derde div altijd passend tussen deze twee anderen in te zetten. Het kan dus zijn dat er alleen een div links in zit, of alleen rechts, of geen enkele, of juist alle twee zoweel links als rechts. Wie weet hier een goede oplossing voor?

Groejes, SanThe.
Is al weer even dat ik met CSS in de weer ben geweest, maar misschien kun je gebruik maken van de intrinsieke eigenschappen van divs/block level elements:
Een div die niet gefloat wordt neemt altijd de volledige (resterende) ruimte in. Misschien is het wel zaak dat je de gefloate divs eerst in de container zet, en dan pas de resterende div, dus het enige wat je volgens mij hoeft te doen is deze in de juiste volgorde weergeven (eerst de floats, dan de rest). Zodat je browser het rekenwerk eenvoudig kan doen, maar mogelijk is deze volgorde niet eens nodig. Oftewel: hier hoef je eigenlijk niets speciaals voor te doen :p.
Je verhaal klopt, maar als je alle drie de divs een border geeft zitten ze zichtbaar niet tegen elkaar aan.
En dat is dus wel de bedoeling.
Merk op dat je overal 'height' verkeerd spelt.

Als ik het goed begrijp is er altijd een 'hoofd-div' ... en links EN/OF rechts daarvan kan nog een div staan. Correct?

Waarom variƫren de linker en rechter div in breedte?
Ozzie PHP op 12/02/2018 17:14:17

Merk op dat je overal 'height' verkeerd spelt.

Is maar een voorbeeld css. Maar ik heb het wel vaker.

Ozzie PHP op 12/02/2018 17:14:17

Als ik het goed begrijp is er altijd een 'hoofd-div' ... en links EN/OF rechts daarvan kan nog een div staan. Correct?

Ja, en die zit(ten) in een div met een vaste breedte.

Ozzie PHP op 12/02/2018 17:14:17

Waarom variƫren de linker en rechter div in breedte?

Plaatjes met verschillende breedte of niks.
- SanThe - op 12/02/2018 17:01:25
Je verhaal klopt, maar als je alle drie de divs een border geeft zitten ze zichtbaar niet tegen elkaar aan. En dat is dus wel de bedoeling.

Dit komt omdat de border (evenals margin) opgeteld wordt bij de breedte van de div, als je allemaal vaste breedtes gebruikt zou je deze border af moeten trekken van de beschikbare breedte anders gaan er dingen overlappen / verschuiven.
Dat gezegd hebbende: mogelijk wordt er ergens een margin overgeerfd, dus het lijkt mij beter om deze expliciet op 0 in te stellen.
En ten slotte: als je wilt dat we je precies geven wat je probeert te bereiken moet je ook precies specificeren wat je wilt hebben :).
>> Een tabel? Of iets dat op een tabel lijkt?! Ik kan mijn ogen niet geloven.

Waarom zo neerbuigend? Kom dan zelf met een werkbare oplossing lijkt me.

Voor de rest, zoals Thomas zegt, zou een voorbeeldje handig zijn.
Het verhaal van Thomas klopt zoals ik al eerder zei.
Ik had het ook zo gemaakt maar helaas het werkte niet.

Nu heb ik de hele test weggegooid en ben ik opnieuw begonnen.
Tot mijn grote verbazing werkt het nu gewoon wel.
Geen idee wat ik eerst over het hoofd heb gezien.

Bedankt voor het meedenken.

SanThe.

Reageren