Ben hier nu al een paar uurtjes zoet mee en ik kom er niet uit, behalve dan dat het met een pure CSS oplossing niet lijkt te kunnen.
Ik heb een pagina met een paar kopjes en daaronder een div. Standaard wil ik die divs verbergen, en alleen tonen als je op een kopje klikt. Als je op een andere klinkt moet hij weer dichtvallen. Dit gaat goed, tenzij ik in een reeds getoonde div ga klikken (op een linkje bijvoorbeeld). Dan klapt ie namelijk ook dicht. Dit wil ik niet, want zo kan ik dus niet op links klikken. Het doel is dit met slechts CSS op te knappen.
Een minimaal voorbeeld:
De derde regel van de CSS doet dus niet wat ik denk dat het zou moeten doen: de div zichtbaar houden als erin geklikt wordt. De eerste regel lijkt het ten allen tijden te overriden, de !important ten spijt. Ik zal dus wel een denkfoutje maken, maar ik kom er niet achter wat.
Ik heb een pagina met een paar kopjes en daaronder een div. Standaard wil ik die divs verbergen, en alleen tonen als je op een kopje klikt. Als je op een andere klinkt moet hij weer dichtvallen. Dit gaat goed, tenzij ik in een reeds getoonde div ga klikken (op een linkje bijvoorbeeld). Dan klapt ie namelijk ook dicht. Dit wil ik niet, want zo kan ik dus niet op links klikken. Het doel is dit met slechts CSS op te knappen.
Een minimaal voorbeeld:
code:
1
2
3
4
5
6
7
8
9
10
| <style type="text/css"> a.exp + div {display:none;} a.exp:focus + div {display:block;} a.exp + div:focus {display:block !important;} </style> <a class="exp" href="#" tabindex="1">Kopje 1</a> <div>content</div> <a class="exp" href="#" tabindex="2">Kopje 2</a> <div>content</div> |
De derde regel van de CSS doet dus niet wat ik denk dat het zou moeten doen: de div zichtbaar houden als erin geklikt wordt. De eerste regel lijkt het ten allen tijden te overriden, de !important ten spijt. Ik zal dus wel een denkfoutje maken, maar ik kom er niet achter wat.
Humanist | Kernpower! | Determinist | Verken uw geest | Politiek dakloos