To my knowledge,
the descendant combinator (space) targets child and descendants of the parent element.
the subsequent sibling combinator (~) selects all elements that come anywhere after a specified element whether its adjacent or not.
So with that definition wouldn't H1 p
and H1 ~ p
give me the same selection results every time?
The fact that both of these are even a thing, tells me that they have their purpose... So what am I missing?
EDIT** Correct me if I'm wrong - but after further research, I think I got it.
The (~) selects all elements that come AFTER a specified element. While the (space) selects all elements that are INSIDE of a specified element?