Is there a “previous sibling” selector?

No, there is no “previous sibling” selector. On a related note, ~ is for general successor sibling (meaning the element comes after this one, but not necessarily immediately after) and is a CSS3 selector. + is for next sibling and is CSS2.1. See Adjacent sibling combinator from Selectors Level 3 and 5.7 Adjacent sibling selectors … Read more

How to display and hide a div with CSS?

You need Updated demo at http://jsfiddle.net/gaby/n5fzB/2/ The problem in your original CSS was that the , in css selectors starts a completely new selector. it is not combined.. so #f:hover ~ .abc,.a means #f:hover ~ .abc and .a. You set that to display:none so it was always set to be hidden for all .a elements.

error code: 523