Not unlike a Family Tree with ancestors, parents, children, siblings, etc, in CSS there is the Document Tree.

Each element in the Document Tree has exactly one parent. That is except the ROOT element, which has no parent. Describing elements within the document displayed as a web page requiers a multitude of terms. To completely understand the "cascading" aspect of CSS, you need to thoroughly understand these terms and how the one element affects the others and is affected by them.

Child

Element X is considered a child of element Y when Y is a parent of X
Example:
    <div id="quotebox">
        <p>Now is the time for all good men to ...</p>
    </div>
In this example <p> is the child of #quotebox"

Descendant

Element X is considered to be a descendant of element Y if is is a child of element Y, it is a child of a child of element Y, it is a child of a descendant of Y
Example:
    <div class="outer-box">
        <div class="inner-box">
            <h3>My Title</h3>
            <p>Content goes here</p>
        </div>
    </div>
In the example, .inner-box and the <h3> and the <p> elements are all descendants of .outer-box

Ancestor Element X is an ancestor of element Y if Y is a descendant of X.
Example:
    <div class="outer-box">
        <div class="inner-box">
            <h3>My Title</h3>
            <p>Content goes here</p>
        </div>
    </div>
In the example, .outer-box is the ancestor of .inner-box, <h3> and the <p> elements. Parent elements are considered ancestors as well.
Sibling Element X is a sibling of element Y if both X and Y have the same parent element. Remember, elements can have only one parent, but elements can share a parent element.
Example:
    <div class="outer-box">
        <div class="inner-box">
            <h3>My Title</h3>
            <p>Content goes here</p>
        </div>
    </div>
In the example <h3> and <p> are siblings and both have the same parent of .inner-box.
Preceding element Element X is considered to proceed element Y if X is an ancestor of Y or X is a preceeding sibling of Y
Example:
    <div class="outer-box">
        <div class="inner-box">
            <h3>My Title</h3>
            <p>Content goes here</p>
        </div>
    </div>
In the example <h3> is a preceeding element to <p>
Following element Element X is considered to follow element Y if X is a preceeding element of Y
Example:
    <div class="outer-box">
        <div class="inner-box">
            <h3>My Title</h3>
            <p>Content goes here</p>
        </div>
    </div>
In the example <p> is a following element <h3>