blob: d17c019e9fb8e6f04e7d69fde83d92041fccac9e [file] [log] [blame]
<!doctype html>
<html>
<head>
<style>
/* Specificity: (1, 1, 3). */
html > body > testcase.case#case1, html > body > testcase.case#case2 {
background-color: red;
color: white;
border: 10px solid black;
}
/* The maximum here is (1, 0, 3), the total is (1, 0, 4) which does not override the baseline. */
testcase:not(html > body testcase1, html body testcase2, html body > testcase1.foo, html body > testcase1.foo.bar, html > body testcase1.foo.bar.baz, html > body #case2, body > testcase#case2, html body > testcase1#case2) {
background-color: blue;
}
/* Adding html body testcase#case2.case to push to (1, 1, 4). */
testcase:not(html > body testcase1, html body testcase2, html body > testcase1.foo, html body > testcase1.foo.bar, html > body testcase1.foo.bar.baz, html > body #case2, body > testcase#case2, html body > testcase1#case2, html body testcase#case2.case) {
background-color: pink;
}
/* #case2.case.case2 to push to (1, 2, 1). */
testcase:not(html > body testcase1, html body testcase2, html body > testcase1.foo, html body > testcase1.foo.bar, html > body testcase1.foo.bar.baz, html > body #case2, body > testcase#case2, html body > testcase1#case2, #case2.case.case2) {
color: green;
}
/* #case2#case1 to push to (2, 0, 1). */
testcase:not(html > body testcase1, html body testcase2, html body > testcase1.foo, html body > testcase1.foo.bar, html > body testcase1.foo.bar.baz, html > body #case2, body > testcase#case2, html body > testcase1#case2, #case2#case1) {
border: none;
}
/* The maximum here is (1, 0, 3), the total is (1, 0, 4) which does not override the baseline. */
testcase:not(html body testcase1#case2) {
background-color: blue;
}
/* Adding html body testcase#case2.case to push to (1, 1, 4). */
testcase:not(html body testcase#case1.case) {
background-color: green;
}
/* #case2.case.case2 to push to (1, 2, 1). */
testcase:not(html body #case1.case.case) {
color: pink;
}
/* #case3#case1 to push to (2, 0, 1). */
testcase:not(html body #case3#case1) {
border: none;
}
</style>
</head>
<body>
<p>Test the specificity of :not() with complex selectors.</p>
<testcase class="case" id="case1">This sentence should be green on a pink background, without border.</testcase>
<testcase class="case" id="case2">This sentence should be pink on a green background, without border.</testcase>
</body>
</html>