<!doctype html>
<html>
<head>
<style>
    .target::before {
        content: "Target";
    }

    /* This rule has two .target, making it higher specificity than the rules below. */
    .target:matches(*, target, .target, *, target)::before {
        background-color: green;
    }

    /* This rule has a tagname and a class name, making it higher specificity than ".target:matches(*)::before". */
    target:matches(*, target, .target, *, target)::before {
        color: white;
    }

    .target:matches(*)::before {
        background-color: red;
        color: blue;
        border: none;
    }
    /* This rule only has (0, 0, 3) and it superseded by the rule above. */
    target:matches(*, target, *)::before {
        border: 25px solid purple;
    }

    /* This rule has lower specificity than all the rules above and its property never applies. */
    :matches(#target, target)::before {
        content: "Not Target";
    }
</style>
</head>
<body>
    <p>This test checks the specificity of the rules inside :matches() applying to the pseudo element ::before. The test succeed if the text "Target" is displayed in white on a green background.</p>
    <target class="target"></target>
</body>
</html>
