<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN"> <html> <head> <title>CSS Test: :not selector with :first-letter selector</title> <style type="text/css"> div { color: green; } div, *:not(:first-letter) { color: red; } div, *:not(::first-letter) { color: red; } </style> <script> if (window.testRunner) window.testRunner.dumpAsText(); </script> </head> <body> <p>The test passes if there is no red on the page.</p> <div> <div id="test">Filler Text</div> </div> <div id="testresult" style="color: blue">Running</div> <script type="text/javascript"> function ArrayContains(array, value, ci) { ci = ci == true ? true : false; for (var i = 0; i < array.length; i++) { if (ci && array[i].toLowerCase() == value.toLowerCase()) { return true; } else if (array[i] == value) { return true; } } return false; } function TestCase() { try { var target = document.getElementById("test"); var val = getComputedStyle(target, null).getPropertyValue("color"); var aExpectedValues = new Array("green", "#008000", "rgb(0, 128, 0)"); if (ArrayContains(aExpectedValues, val, true)) { document.getElementById("testresult").innerHTML = "Pass"; return; } }catch(e){} document.getElementById("testresult").innerHTML = "Fail"; } TestCase(); </script> </body> </html>