<!doctype html>
<html>
<head>
<style>
    /* The specifity varies with the element being matched. */
    :nth-last-child(even of .foo, #bar, target) {
        background-color: red;
        color: white;
        border: 5px solid purple;
    }

    /* (0, 1, 1) */
    target.foo {
        color: red;
    }

    /* (0, 2, 0) */
    .foo.foo {
        background-color: green;
    }
    /* (1, 0, 1) */
    target#bar {
        border: 5px solid blue;
    }

    target {
        display: block;
        margin: 2px;
    }
</style>
</head>
<body>
    <p>This test the specificity of :nth-last-child() with dynamic specificity. If the test pass, the style of each line should match its text description.</p>
    <div>
        <target>White text on red background with a purple border.</target>
        <target>Black text on white background.</target>
        <target class="foo">White text on green background with a purple border.</target>
        <target class="foo">Red text on green background.</target>
        <target id="bar">White text on red background with a purple border.</target>
        <target id="bar">Black text on white background with a blue border.</target>
        <target class="foo" id="bar">White text on red background with a purple border.</target>
        <target class="foo" id="bar">Red text on green background with a blue border.</target>
    </div>
</body>
</html>