// The adjacent sibling combinator (+) separates two selectors and matches the second element only if it immediately follows the first element, and both are children of the same parent element. Example: Paragraphs that come immediately after any image
img + p { font-style: bold; }
// The child combinator (>) is placed between two CSS selectors. It matches only those elements matched by the second selector that are the children of elements matched by the first. Example: List items that are children of the "my-things" list
ul.my-things > li { margin: 2em; }
// The general sibling combinator (~) separates two selectors and matches the second element only if it follows the first element (though not necessarily immediately), and both are children of the same parent element. Example: Paragraphs that are siblings of and subsequent to any image
img ~ p { color: red; }
// The descendant combinator — typically represented by a single space ( ) character. Example: List items that are descendants of the "my-things" list