Lid |
|
Hallo,
Ik zit met een probleem dat op zich vrij simpel is, maar om de een of andere reden kan ik hier maar geen oplossing voor bedenken.
Om het uit te leggen heb ik snel even iets gemaakt in paint:
http://img193.i...bleemz.png
Het zit dus zo:
Op een pagina heb ik een 'container' (div) gecentreerd staan (zwarte div op de afbeelding). Hierin zitten allemaal 'boxes' (rode divs op de afbeelding) met width: 0. Als er nu iets gebeurt, dan moet de grootte van een van de rode divs veranderen, maar hij moet gecentreerd blijven in de container. Als er nog iets gebeurt, moet een andere rode div groeien, maar moeten ze allebei in hun geheel gecentreerd blijven en zo voort.
Voor het groeien heb ik een javascriptje geschreven dat simpelweg de width vergroot. Niet veel aan dus. Het probleem zit 'm nu in het feit dat de gegroeide divs gecentreerd moeten blijven.
Wat ik al heb geprobeerd:
- Alle 'boxes' gewoon als div in de container gezet. Het probleem is hier dat er by default een linebreak wordt toegevoegd, wat dus niet het gewenste effect geeft.
- Het probleem van de linebreak dacht ik op te lossen door alle rode divs float: left; mee te geven. Dit lost ook niets op omdat de boxes dan wel naast elkaar staan ipv onder elkaar, maar ze zijn niet meer gecentreerd. Float: center; blijkt niet te bestaan helaas...
- Goed, dan maar van de rode divs spans maken, hierna is er immers geen linebreak. Maar blijkbaar is het onmogelijk on van inline elementen de width te veranderen.
- Ik dacht dan de oplossing gevonden te hebben in dipslay: inline-block; maar helaas werkt dit niet in IE, en bij het groeien verplaatst hij mijn divs ongeveer 10pixels naar onder.
Niets van dit alles werkt dus, terwijl dit probleem heel simpel is. Is het nu echt zo dat browsers dit niet kunnen? Dat zou wel enorm stom zijn... Kent iemand hier een oplossing voor?
Enorm veel dank!
|