blob: 89ede3e4d1af40d7275e37791a8903ae9e3389f0 [file] [log] [blame]
<!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>