Test window.CSS.supports() On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS CSS.supports("display: none") is true PASS CSS.supports("(display: none)") is true PASS CSS.supports(" display: none ") is true PASS CSS.supports("(display: deadbeef)") is false PASS CSS.supports("display: deadbeef") is false PASS CSS.supports("(display: none) and ((display: block) or (display: inline))") is true PASS CSS.supports("(not (display: deadbeef)) and (display: block)") is true PASS CSS.supports("top: -webkit-calc(80% - 20px)") is true PASS CSS.supports("background-color: rgb(0, 128, 0)") is true PASS CSS.supports("background: url('/blah')") is true PASS CSS.supports("background: invalid('/blah')") is false PASS CSS.supports("display: none;") is false PASS CSS.supports("display: none; garbage") is false PASS CSS.supports(" display: none ; garbage ") is false PASS CSS.supports("not (display: deadbeef)") is true PASS CSS.supports("not (display: none)") is false PASS CSS.supports("not (not (display: none))") is true PASS CSS.supports("not (not (not (display: none)))") is false PASS CSS.supports("(display: none) and (display: block)") is true PASS CSS.supports("(display: none) and (display: block) and (display: inline)") is true PASS CSS.supports("(display: none) and (display: block) and (display: deadbeef) and (display: inline)") is false PASS CSS.supports("(display: none) or (display: inline)") is true PASS CSS.supports("(display: none) or (display: block) or (display: inline)") is true PASS CSS.supports("(display: none) or (display: deadbeef) or (display: inline)") is true PASS CSS.supports("(display: ohhai) or (display: deadbeef) or (display: rainbows)") is false PASS CSS.supports("(display: none) and (display: block) or (display: inline)") is false PASS CSS.supports("not (display: deadbeef) and (display: block)") is false PASS CSS.supports("(not (border: 1px 1px 1px 1px 1px solid #000)) and (display: block)") is true PASS CSS.supports("(display: block !important) and ((display: inline) or (display: deadbeef))") is true PASS CSS.supports("not ((not (display: block)) or ((display: none) and (deadbeef: 1px)))") is true PASS CSS.supports("not( display: deadbeef)") is true PASS CSS.supports("(display: none)and ( -webkit-transition: all 1s )") is true PASS CSS.supports("(display: none)or(-webkit-transition: all 1s)") is true PASS CSS.supports("(display: none) or(-webkit-transition: all 1s )") is true PASS CSS.supports("(((((((display: none)))))))") is true PASS CSS.supports("(!important)") is false PASS CSS.supports("!important") is false PASS CSS.supports("not not not not (display: none)") is false PASS CSS.supports("(top: -webkit-calc(80% - 20px))") is true PASS CSS.supports("(background-color: rgb(0, 128, 0))") is true PASS CSS.supports("(background: url('/blah'))") is true PASS CSS.supports("((top: -webkit-calc(80% - 20px)) and (not (background-color: rgb(0, 128, 0)))) or (background: url('/blah'))") is true PASS CSS.supports("(background: invalid('/blah'))") is false PASS CSS.supports("top", "20%") is true PASS CSS.supports("top", " 20px ") is true PASS CSS.supports("top", "20") is false PASS CSS.supports("dis\nplay", "none") is false PASS CSS.supports("display", "rainbow") is false PASS CSS.supports("display", "url(rainbow.png)") is false PASS CSS.supports(" background ", "url(rainbow.png)") is true PASS CSS.supports("background", "invalid(rainbow.png)") is false PASS CSS.supports("background-color", "#000") is true PASS CSS.supports("background-color", "rgba(0,0,0,0)") is true PASS CSS.supports("background-color", "inherit") is true PASS CSS.supports("display", "none !important") is true PASS CSS.supports("display", "none!important") is true PASS CSS.supports("display", "!important none") is false PASS CSS.supports("display", "none !important ! important ") is false PASS CSS.supports("display", "none ! important") is true PASS CSS.supports("display", "none ! important") is true PASS CSS.supports("display", "none ! \nimportant") is true PASS CSS.supports("", "") is false PASS CSS.supports(true, "") is false PASS CSS.supports([], "none") is false PASS CSS.supports("display", "") is false PASS CSS.supports("display:", "none") is false PASS CSS.supports("z-index", 1) is true PASS CSS.supports("content", []) is false PASS CSS.supports("content", "!important") is false PASS CSS.supports("(display: none)", undefined) is false PASS successfullyParsed is true TEST COMPLETE