Short answer: You need javascript.
After all, that's what it is intended for: user interaction, among other cool things. CSS on the other hand is oriented towards the presentation, thus its interaction features are limited (for example, it responds to hover action but not to click action in the way you expect it).
The only idea that comes to my mind is using a checkbox to control the click "states" and in css display something based on that status.
HTML:
<label><input type="checkbox">My link
<p>Sed ut perspiciatis unde omnis iste natus</p>
</label>
CSS:
input[type="checkbox"] {display: none;}
input[type="checkbox"] + p {display:none; margin-left:1em;}
input[type="checkbox"]:checked + p {display:block;}
Check out this Fiddle
However, this solution could not be the best cross-browser wise, so we go back to "Javascript" ;)