Testcases Black
Berry
NetFront Firefox Internet Explorer Opera Safari
Chrome
Konqueror
BlackBerry 4.6.1.66 on 8900 Simulator
BlackBerry 4.7.0.41 on 9500 Simulator
BlackBerry 5.0.0.624 on 9630 Simulator
4.6 up
NetFront 3.4 on Windows Mobile 5 Emulator
NetFront 3.5 on Windows Mobile 5 Emulator
3.4-
3.5
NetFront 4.0 on Windows Mobile 5 Emulator
4
Firefox 0.9rc on Windows XP
Firefox 1.0 on Windows XP
Firefox 1.5 on Windows XP
Firefox 2.0.0.20 on Windows XP
0.9-
2.x
Firefox 3.0.19 on Windows XP
3.0x
Firefox 3.5 on Windows XP
Firefox 3.6.8pre on Gentoo Linux 10.0
3.5 up
Internet Explorer 6 (build 2900.5512) on Windows XP SP3
6
Internet Explorer 7 on Windows XP SP3
7
Internet Explorer 8 on Windows 7
8
Internet Explorer 9pre4 on Windows 7
9
Opera 7.20 on Windows XP
Opera 7.23 on Windows XP
7.2x
Opera 7.50 on Windows XP
Opera 7.54u2 on Windows XP
7.5x
Opera 8.0 on Windows XP
Opera 8.50 on Windows XP
Opera 8.54 on Windows XP
8.x
Opera 9.0 on Windows XP
Opera 9.10 on Windows XP
Opera 9.20 on Windows XP
Opera 9.27 on Windows XP
9-
9.2x
Opera 9.50 (build 10063) on Windows XP
Opera 9.51 on Windows XP
Opera 9.52 on Windows XP
Opera 9.64 on Windows XP
9.5-
9.6x
Opera 10 on Windows XP
Opera 10.01 on Windows XP
Opera 10.10 on Windows XP
10-
10.1
Opera 10.50 on Windows XP
Opera 10.54 on Windows XP
Opera Mobile 10 on Windows Mobile 5 Emulator
10.5x
Opera 10.60 on Windows XP
Opera 10.70 (build 3483) on Windows XP
10.6 up
Safari 2.0 (build 412) on OSX 10.4 PPC
Safari 2.0 (build 412.2) on OSX 10.4 PPC
Safari 2.0 (build 412.2.2) on OSX 10.4 PPC
Safari 2.0.1 (build 412.5) on OSX 10.4 PPC
Safari 2.0.2 (build 416.12) on OSX 10.4 PPC
Safari 2.0.2 (build 416.13) on OSX 10.4 PPC
Safari 2.0.3 (build 417.8) on OSX 10.4 PPC
Safari 2.0.3 (build 417.9.2) on OSX 10.4 PPC
Safari 2.0.3 (build 417.9.2) on OSX 10.4 PPC
Safari 2.0.3 (build 417.9.3) on OSX 10.4 PPC
Safari 2.0.4 (build 419.3) on OSX 10.4 PPC
Safari 2.0.4 (build 419.3) on OSX 10.4 PPC
Safari 2.0.4 (build 419.3) on OSX 10.4 PPC
Safari 2.0.4 (build 419.3) on OSX 10.4 PPC
Safari 2.0.4 (build 419.3) on OSX 10.4 PPC
Safari 2.0.4 (build 419.3) on OSX 10.4 PPC
Safari 2.0.4 (build 419.3) on OSX 10.4 PPC
2.x
Safari 3.0 (build 522.11) on OSX 10.4 PPC
Safari 3.0.2 (build 522.12) on OSX 10.4 PPC
Safari 3.0.3 (build 522.12.1) on OSX 10.4 PPC
Safari 3.0 (build 522.11.3) on Windows XP SP3
Safari 3.0.1 (build 522.12.2) on Windows XP SP3
Safari 3.0.2 (build 522.13.1) on Windows XP SP3
Safari 3.0.3 (build 522.15.5) on Windows XP SP3
Safari 3.0.4 (build 523.12) on OSX 10.4 PPC
Safari 3.0.4 (build 523.12.2) on OSX 10.4 PPC
Safari 3.0.4 (build 523.12.9) on Windows XP SP3
3.0x
Safari 3.1 (build 525.13) on OSX 10.4 PPC
Safari 3.1 (build 525.13) on Windows XP SP3
Safari 3.1.1 (build 525.17) on Windows XP SP3
Safari 3.1.1 (build 525.18) on OSX 10.4 PPC
Safari 3.1.2 (build 525.22) on OSX 10.4 PPC
Safari 3.1.2 (build 525.21) on Windows XP SP3
Safari 3.2 (build 525.26.2) on OSX 10.4 PPC
Safari 3.2 (build 525.26.13) on Windows XP SP3
Safari 3.2.1 (build 525.27.1) on OSX 10.4 PPC
Safari 3.2.1 (build 525.27.1) on Windows XP SP3
Safari 3.2.2 (build 525.28.1) on Windows XP SP3
Safari 3.2.3 (build 525.29) on Windows XP SP3
3.1-
3.2x
Safari 4.0b (build 528.16) on Windows XP SP3
Safari 4.0 (Mobile 528.16) on iPhone 3.0
4.0
Safari 4.0 (build 530.17) on Windows XP SP3
Safari 4.0.2 (build 530.19.1) on Windows XP SP3
Safari 4.0.3 (build 531.9) on OSX 10.4 PPC
Safari 4.0.3 (build 531.9.1) on Windows XP SP3
4.0-
4.0.3
- Safari 4.0.4 (build 531.21.10) on Windows XP SP3
Safari 4.0.5 (build 531.22.7) on Windows XP SP3
Safari 5.0 (build 533.16) on Windows XP SP3
Safari 5.0.1 (build 533.17.8) on Windows XP SP3
4.0.4 up
Konqueror 3.5.2 on Slax 5.1.6
Konqueror 3.5.3 on Slax 5.1.7
Konqueror 3.5.4 on Slax 5.1.8
Konqueror 3.5.5 on Myrinix 2007-04
3.5-
3.5.5
Konqueror 3.5.6 on MCNLive Delft
Konqueror 3.5.7 on OpenSUSE 10.3
Konqueror 3.5.8 on Slax 6.0.0
Konqueror 3.5.9 on Slax 6.0.3
Konqueror 3.5.10 on Slax 6.1.2
Konqueror 4.0 on ShiftLinux 0.6.2
Konqueror 4.0.1 on KDE Four Live 1.0.1
Konqueror 4.0.2 on OpenSUSE 10.4 1.0.2
Konqueror 4.0.3 on KDE Four Live 1.0.3
Konqueror 4.0.4 on OpenSUSE 11.0
Konqueror 4.0.5 on Vixta 3D 9.03
3.5.6-
4.0.5
Konqueror 4.0.84 on KDE Four Live
Konqueror 4.1 on KDE Four Live 1.1.0
Konqueror 4.1.1 on KDE Four Live 1.1.1
Konqueror 4.1.64 on KDE Four Live 1.1.64
4.1-
4.1.1
Konqueror 4.1.2 on Fedora 10
Konqueror 4.1.3 on OpenSUSE 11.1
Konqueror 4.1.80 on KDE Four Live 1.1.80
4.1.2-
4.1.3
Konqueror 4.2 on KDE Four Live 1.2.0
Konqueror 4.2.1 on Kubuntu 9.04 beta
Konqueror 4.4.5 on Gentoo Linux 10.0
Konqueror 4.2.2 on KDE Four Live 1.2.2
Konqueror 4.2.4 on KDE Four Live 1.2.4
Konqueror 4.3.0 on KDE Four Live 1.3.0
Konqueror 4.3.1 on KDE Four Live 1.3.1
Konqueror 4.3.2 on KDE Four Live 1.3.2
Konqueror 4.4.5 on Gentoo Linux 10.0
4.2 up
- - Chrome 0.2.149.27 on Windows XP SP3
Chrome 0.2.153.1 on Windows XP SP3
Chrome 0.3.154.0 on Windows XP SP3
Chrome 0.3.154.9 on Windows XP SP3
Chrome 0.4.154.18 on Windows XP SP3
Chrome 0.4.154.33 on Windows XP SP3
Chrome 1.0.154.36 on Windows XP SP3
Chrome 1.0.154.65 on Windows XP SP3
0.2-
1.x
Chrome 2.0.156.1 on Windows XP SP3
2.0.156.1
Chrome 2.0.170.0 on Windows XP SP3
Chrome 2.0.172.43 on Windows XP SP3
Chrome 2.0.180.0 on Windows XP SP3
Chrome 3.0.182.2 on Windows XP SP3
Chrome 3.0.197.11 on Windows XP SP3
Chrome 4.0.201.1 on Windows XP SP3
Chrome 4.0.302.3 on Windows XP SP3
Chrome 5.0.307.1 on Windows XP SP3
Chrome 5.0.360.0 on Windows XP SP3
Chrome 5.0.360.4 on Windows XP SP3
2.0.172.43-
5.0.360.4
Chrome 5.0.366.2 on Windows XP SP3
Chrome 5.0.371.0 on Windows XP SP3
Chrome 5.0.375.29 on Windows XP SP3
5.0.366.2-
5.0.375.29
Chrome 5.0.396.0 on Windows XP SP3
Chrome 6.0.401.1 on Windows XP SP3
Chrome 6.0.458.1 on Gentoo Linux 10.0
Chrome 6.0.472.25 on Windows XP SP3
5.0.396.0 up
The attribute selector
html[xmlns="http://www.w3.org/1999/xhtml"]
html[xmlns]
html[case_sensitive_attr]
nyyyyynyyynyyyyyyyyyyyyyyyyyyy
html[test$=""]
html[test^=""]
html[nonstandard_attr$=""]
nyyyynnyynnnnyyyyyyyynnnnyyynn
html[dir$=""]
html[dir^=""]
html[xmlns$=""]
html[xmlns^=""]
html[standard_attr$=""]
nyyyynnyynnnnyyynnyyynnnnyyynn
html[standard_case_insensitive_attr="UPPERCASED"] nyyyyynnyyyyyyyyyyyyyyyyyyyyyy
html[dir="ltr"]
html[dir]
html[test="test"]
html[test]
html[standard_case_insensitive_attr] or html[nonstandard_attr]
nyyyyynyyyyyyyyyyyyyyyyyyyyyyy
html[xmlns*=""] nnynnnnyynnnnyyynnyyynnnnyyynn
html[dir*=""] nnynnnnynnnnnyyynnyyynnnnyyynn
html[test*=""] nnynnnnyynnnnyyyyyyyynnnnyyynn
html:not([dir*=""])
html:not([xmlns*=""])
html:not([standard_case_insensitive_attr*=""])
nnnyyynnnynnnnnnyynnnyyyynnnyy
html:not([test*=""]) nnnyyynnnynnnnnnnnnnnyyyynnnyy
body:not([missing=""])
body:not([xmlns=""])
html:not([missing=""])
body:not([missing_attr=""])
nnnyyynnnnnnnnyyyyyyyyyyyyyyyy
[ID='C0']
[iD='C0']
[id='C0']
html[test="TEST"]
html[non_standard_attr='UPPERCASED'] or [id='UPPERCASED']
nnnynnnnnnyynnnnnnyynnnnnynnnn
html[standard_case_senstive_attr="UPPERCASED"] nnnynnnnnnnynnnnnnyynnnnnynnnn
html:not([test="TEST"])
html:not([xmlns="HTTP://WWW.W3.ORG/1999/XHTML"])
html:not([case_sensitive_attr="UPPERCASED"])
nnnnyynnnynnnnyyyynnyyyyynyyyy
html:not([dir$=""])
html:not([dir^=""])
html:not([xmlns$=""])
html:not([xmlns^=""])
html:not([standard_attr$=""])
nnnnnynnnynnnnnnyynnnyyyynnnyy
html:not([test$=""])
html:not([test^=""])
html:not([nonstandard_attr$=""])
nnnnnynnnynnnnnnnnnnnyyyynnnyy
body[missing=""]
body[xmlns=""]
html[missing=""]
body[missing=""]
nnnnnnnnnynnnnnnnnnnnnnnnnnnnn
Targetting the doctype/something outside html
head + /**/ body
head + /**/body
head +/**/ body
head /**/ + /**/ body
head /**/ + /**/body
head /**/ +/**/ body
head /**/+ /**/ body
head /**/+ /**/body
head /**/+/**/ body
head+ /**/ body
head+ /**/body
head+/**/ body
head/**/ + /**/ body
head/**/ + /**/body
head/**/ +/**/ body
head + /**/ body
yyyyyynnyyyyyyyyyyyyyyyyyyyyyy
head /**/ ~ body
head /**/ ~body
head /**/~ body
head /**/~body
head ~ body
head ~body
head/**/ ~ body
head/**/ ~body
head~ body
head~body
head~body
nnnyyynyyynnnyyyyynyyyyyyyyyyy
* html nnnnnnynnnnnnnnnnnnnnnnnnnnnnn
>html nnnnnnyynnnnnnnnnnnnnnnnnnnnnn
*+html
*:first-child+html
*:first-child~html
:first-child+html
:first-child~html
:first-child+html
nnnnnnnynnnnnnnnnnnnnnnnnnnnnn
*~html nnnnnnnynnnnnnnyynnnnnnnnnnnnn
head/body targetting hacks
[ID='c0']
[iD='c0']
[id='c0']
head + body
head +body
head /**/ + body
head /**/ +body
head /**/+ body
head /**/+body
head+ body
head+body
head/**/ + body
head/**/ +body
head+body
yyyyyynyyyyyyyyyyyyyyyyyyyyyyy
head /**/ ~ /**/ body
head /**/ ~ /**/body
head /**/ ~/**/ body
head /**/~ /**/ body
head /**/~ /**/body
head /**/~/**/ body
head ~ /**/ body
head ~ /**/body
head ~/**/ body
head/**/ ~ /**/ body
head/**/ ~ /**/body
head/**/ ~/**/ body
head~ /**/ body
head~ /**/body
head~/**/ body
head ~ /**/ body
nnnyyynnyynnnyyyyynyyyyyyyyyyy
root/html pseudoclass hacks
:root
:root:root
html:root
html:root:root
:root
nyyyyynnnynnnnyyyyyyyyyyyyyyyy
html:not(:first-child) nnnyyynnnynnnnyyyynyyyyyyyyyyy
html:not(:last-child) nnnyyynnnynnnnnnnnnnyyyyyyyyyy
body:not(:nth-child(+0))
body:not(:nth-child(+0n))
body:not(:nth-child(+0n+0))
body:not(:nth-child(+0n-0))
body:not(:nth-child(-0))
body:not(:nth-last-child(+0))
body:not(:nth-last-child(+0n))
body:not(:nth-last-child(+0n+0))
body:not(:nth-last-child(+0n-0))
body:not(:nth-last-child(-0))
body:not(:nth-last-of-type(+0))
body:not(:nth-last-of-type(+0n))
body:not(:nth-last-of-type(+0n+0))
body:not(:nth-last-of-type(+0n-0))
body:not(:nth-last-of-type(-0))
body:not(:nth-of-type(+0))
body:not(:nth-of-type(+0n))
body:not(:nth-of-type(+0n+0))
body:not(:nth-of-type(+0n-0))
body:not(:nth-of-type(-0))
html:not(:nth-child(+0))
html:not(:nth-child(+0n))
html:not(:nth-child(+0n+0))
html:not(:nth-child(+0n+1))
html:not(:nth-child(+0n-0))
html:not(:nth-child(+0n-1))
html:not(:nth-child(+1))
html:not(:nth-child(+1n))
html:not(:nth-child(+1n+0))
html:not(:nth-child(+1n+1))
html:not(:nth-child(+1n-0))
html:not(:nth-child(+1n-1))
html:not(:nth-child(-0))
html:not(:nth-child(-1))
html:not(:nth-last-child(+0))
html:not(:nth-last-child(+0n))
html:not(:nth-last-child(+0n+0))
html:not(:nth-last-child(+0n+1))
html:not(:nth-last-child(+0n-0))
html:not(:nth-last-child(+0n-1))
html:not(:nth-last-child(+1))
html:not(:nth-last-child(+1n))
html:not(:nth-last-child(+1n+0))
html:not(:nth-last-child(+1n+1))
html:not(:nth-last-child(+1n-0))
html:not(:nth-last-child(+1n-1))
html:not(:nth-last-child(-0))
html:not(:nth-last-child(-1))
html:not(:nth-last-of-type(+0))
html:not(:nth-last-of-type(+0n))
html:not(:nth-last-of-type(+0n+0))
html:not(:nth-last-of-type(+0n+1))
html:not(:nth-last-of-type(+0n-0))
html:not(:nth-last-of-type(+0n-1))
html:not(:nth-last-of-type(+1))
html:not(:nth-last-of-type(+1n))
html:not(:nth-last-of-type(+1n+0))
html:not(:nth-last-of-type(+1n+1))
html:not(:nth-last-of-type(+1n-0))
html:not(:nth-last-of-type(+1n-1))
html:not(:nth-last-of-type(-0))
html:not(:nth-last-of-type(-1))
html:not(:nth-of-type(+0))
html:not(:nth-of-type(+0n))
html:not(:nth-of-type(+0n+0))
html:not(:nth-of-type(+0n+1))
html:not(:nth-of-type(+0n-0))
html:not(:nth-of-type(+0n-1))
html:not(:nth-of-type(+1))
html:not(:nth-of-type(+1n))
html:not(:nth-of-type(+1n+0))
html:not(:nth-of-type(+1n+1))
html:not(:nth-of-type(+1n-0))
html:not(:nth-of-type(+1n-1))
html:not(:nth-of-type(-0))
html:not(:nth-of-type(-1))
html:not(:nth-child(+0))
nnnnnynnnynnnnnnnnnnnnnyynnnnn
body:not(:nth-child(-0n))
body:not(:nth-child(-0n+0))
body:not(:nth-child(-0n-0))
body:not(:nth-child(0))
body:not(:nth-child(0n))
body:not(:nth-child(0n+0))
body:not(:nth-child(0n-0))
body:not(:nth-last-child(-0n))
body:not(:nth-last-child(-0n+0))
body:not(:nth-last-child(-0n-0))
body:not(:nth-last-child(0))
body:not(:nth-last-child(0n))
body:not(:nth-last-child(0n+0))
body:not(:nth-last-child(0n-0))
body:not(:nth-last-of-type(-0n))
body:not(:nth-last-of-type(-0n+0))
body:not(:nth-last-of-type(-0n-0))
body:not(:nth-last-of-type(0))
body:not(:nth-last-of-type(0n))
body:not(:nth-last-of-type(0n+0))
body:not(:nth-last-of-type(0n-0))
body:not(:nth-of-type(-0n))
body:not(:nth-of-type(-0n+0))
body:not(:nth-of-type(-0n-0))
body:not(:nth-of-type(0))
body:not(:nth-of-type(0n))
body:not(:nth-of-type(0n+0))
body:not(:nth-of-type(0n-0))
html:not(:nth-child(-0n))
html:not(:nth-child(-0n+0))
html:not(:nth-child(-0n+1))
html:not(:nth-child(-0n-0))
html:not(:nth-child(-0n-1))
html:not(:nth-child(-1n))
html:not(:nth-child(-1n+0))
html:not(:nth-child(-1n+1))
html:not(:nth-child(-1n-0))
html:not(:nth-child(-1n-1))
html:not(:nth-child(-n))
html:not(:nth-child(-n+0))
html:not(:nth-child(-n+1))
html:not(:nth-child(-n-0))
html:not(:nth-child(-n-1))
html:not(:nth-child(0))
html:not(:nth-child(0n))
html:not(:nth-child(0n+0))
html:not(:nth-child(0n+1))
html:not(:nth-child(0n-0))
html:not(:nth-child(0n-1))
html:not(:nth-child(1))
html:not(:nth-child(1n))
html:not(:nth-child(1n+0))
html:not(:nth-child(1n+1))
html:not(:nth-child(1n-0))
html:not(:nth-child(1n-1))
html:not(:nth-child(even))
html:not(:nth-child(n))
html:not(:nth-child(n+0))
html:not(:nth-child(n+1))
html:not(:nth-child(n-0))
html:not(:nth-child(n-1))
html:not(:nth-child(odd))
html:not(:nth-last-child(-0n))
html:not(:nth-last-child(-0n+0))
html:not(:nth-last-child(-0n+1))
html:not(:nth-last-child(-0n-0))
html:not(:nth-last-child(-0n-1))
html:not(:nth-last-child(-1n))
html:not(:nth-last-child(-1n+0))
html:not(:nth-last-child(-1n+1))
html:not(:nth-last-child(-1n-0))
html:not(:nth-last-child(-1n-1))
html:not(:nth-last-child(-n))
html:not(:nth-last-child(-n+0))
html:not(:nth-last-child(-n+1))
html:not(:nth-last-child(-n-0))
html:not(:nth-last-child(-n-1))
html:not(:nth-last-child(0))
html:not(:nth-last-child(0n))
html:not(:nth-last-child(0n+0))
html:not(:nth-last-child(0n+1))
html:not(:nth-last-child(0n-0))
html:not(:nth-last-child(0n-1))
html:not(:nth-last-child(1))
html:not(:nth-last-child(1n))
html:not(:nth-last-child(1n+0))
html:not(:nth-last-child(1n+1))
html:not(:nth-last-child(1n-0))
html:not(:nth-last-child(1n-1))
html:not(:nth-last-child(even))
html:not(:nth-last-child(n))
html:not(:nth-last-child(n+0))
html:not(:nth-last-child(n+1))
html:not(:nth-last-child(n-0))
html:not(:nth-last-child(n-1))
html:not(:nth-last-child(odd))
html:not(:nth-last-of-type(-0n))
html:not(:nth-last-of-type(-0n+0))
html:not(:nth-last-of-type(-0n+1))
html:not(:nth-last-of-type(-0n-0))
html:not(:nth-last-of-type(-0n-1))
html:not(:nth-last-of-type(-1n))
html:not(:nth-last-of-type(-1n+0))
html:not(:nth-last-of-type(-1n+1))
html:not(:nth-last-of-type(-1n-0))
html:not(:nth-last-of-type(-1n-1))
html:not(:nth-last-of-type(-n))
html:not(:nth-last-of-type(-n+0))
html:not(:nth-last-of-type(-n+1))
html:not(:nth-last-of-type(-n-0))
html:not(:nth-last-of-type(-n-1))
html:not(:nth-last-of-type(0))
html:not(:nth-last-of-type(0n))
html:not(:nth-last-of-type(0n+0))
html:not(:nth-last-of-type(0n+1))
html:not(:nth-last-of-type(0n-0))
html:not(:nth-last-of-type(0n-1))
html:not(:nth-last-of-type(1))
html:not(:nth-last-of-type(1n))
html:not(:nth-last-of-type(1n+0))
html:not(:nth-last-of-type(1n+1))
html:not(:nth-last-of-type(1n-0))
html:not(:nth-last-of-type(1n-1))
html:not(:nth-last-of-type(even))
html:not(:nth-last-of-type(n))
html:not(:nth-last-of-type(n+0))
html:not(:nth-last-of-type(n+1))
html:not(:nth-last-of-type(n-0))
html:not(:nth-last-of-type(n-1))
html:not(:nth-last-of-type(odd))
html:not(:nth-of-type(-0n))
html:not(:nth-of-type(-0n+0))
html:not(:nth-of-type(-0n+1))
html:not(:nth-of-type(-0n-0))
html:not(:nth-of-type(-0n-1))
html:not(:nth-of-type(-1n))
html:not(:nth-of-type(-1n+0))
html:not(:nth-of-type(-1n+1))
html:not(:nth-of-type(-1n-0))
html:not(:nth-of-type(-1n-1))
html:not(:nth-of-type(-n))
html:not(:nth-of-type(-n+0))
html:not(:nth-of-type(-n+1))
html:not(:nth-of-type(-n-0))
html:not(:nth-of-type(-n-1))
html:not(:nth-of-type(0))
html:not(:nth-of-type(0n))
html:not(:nth-of-type(0n+0))
html:not(:nth-of-type(0n+1))
html:not(:nth-of-type(0n-0))
html:not(:nth-of-type(0n-1))
html:not(:nth-of-type(1))
html:not(:nth-of-type(1n))
html:not(:nth-of-type(1n+0))
html:not(:nth-of-type(1n+1))
html:not(:nth-of-type(1n-0))
html:not(:nth-of-type(1n-1))
html:not(:nth-of-type(even))
html:not(:nth-of-type(n))
html:not(:nth-of-type(n+0))
html:not(:nth-of-type(n+1))
html:not(:nth-of-type(n-0))
html:not(:nth-of-type(n-1))
html:not(:nth-of-type(odd))
html:not(:nth-child(n))
nnnnnynnnynnnnnnnnnnyyyyyyyyyy
html:not(:last-of-type)
html:not(:only-of-type)
html:not(:last-of-type)
nnnnnynnnynnnnnnnnynyyyyyyyyyy
html:not(:first-of-type) nnnnnynnnynnnnnnnnyyyyyyyyyyyy
html:not(:nth-child(+n))
html:not(:nth-child(+n+0))
html:not(:nth-child(+n+1))
html:not(:nth-child(+n-0))
html:not(:nth-child(+n-1))
html:not(:nth-last-child(+n))
html:not(:nth-last-child(+n+0))
html:not(:nth-last-child(+n+1))
html:not(:nth-last-child(+n-0))
html:not(:nth-last-child(+n-1))
html:not(:nth-last-of-type(+n))
html:not(:nth-last-of-type(+n+0))
html:not(:nth-last-of-type(+n+1))
html:not(:nth-last-of-type(+n-0))
html:not(:nth-last-of-type(+n-1))
html:not(:nth-of-type(+n))
html:not(:nth-of-type(+n+0))
html:not(:nth-of-type(+n+1))
html:not(:nth-of-type(+n-0))
html:not(:nth-of-type(+n-1))
html:not(:nth-child(+n))
nnnnnnnnnynnnnnnnnnnnnnyynnnnn
body:not(:nth-child(-n0))
body:not(:nth-child(-n1))
body:not(:nth-last-child(-n0))
body:not(:nth-last-child(-n1))
body:not(:nth-last-of-type(-n0))
body:not(:nth-last-of-type(-n1))
body:not(:nth-of-type(-n0))
body:not(:nth-of-type(-n1))
html:not(:nth-child(-n0))
html:not(:nth-child(-n1))
html:not(:nth-child(n0))
html:not(:nth-child(n1))
html:not(:nth-last-child(-n0))
html:not(:nth-last-child(-n1))
html:not(:nth-last-child(n0))
html:not(:nth-last-child(n1))
html:not(:nth-last-of-type(-n0))
html:not(:nth-last-of-type(-n1))
html:not(:nth-last-of-type(n0))
html:not(:nth-last-of-type(n1))
html:not(:nth-of-type(-n0))
html:not(:nth-of-type(-n1))
html:not(:nth-of-type(n0))
html:not(:nth-of-type(n1))
html:not(:nth-child(n1))
nnnnnnnnnnnnnnnnnnnnyyyyyyyyyy
body:not(:first-of-type)
body:not(:last-of-type)
body:not(:only-of-type)
html:last-child
html:last-child
nnnnnnnnnnnnnnnnnnynnnnnnnnnnn
html:first-child nnnnnnnnnnyyyynnnnynnnnnnnnnnn
body pseudoclass hacks
body:last-child nyyyyynnnynnnnyyyyynyyyyyyyyyy
body:not(:first-child)
body:not(:root)
body:not([missing$=""])
body:not([missing*=""])
body:not([missing])
body:not([missing^=""])
body:not([missing~=""])
body:not([xmlns$=""])
body:not([xmlns*=""])
body:not([xmlns])
body:not([xmlns^=""])
body:not([xmlns~=""])
html:not([dir=""])
html:not([dir~=""])
html:not([missing$=""])
html:not([missing*=""])
html:not([missing])
html:not([missing^=""])
html:not([missing~=""])
html:not([test=""])
html:not([test~=""])
html:not([xmlns=""])
html:not([xmlns~=""])
body:not(:root)
nnnyyynnnynnnnyyyyyyyyyyyyyyyy
body:first-of-type nnnnnynnnynnnnyyyynyyyyyyyyyyy
body:last-of-type
body:not(:nth-child(-0n+1))
body:not(:nth-child(-0n-1))
body:not(:nth-child(-n))
body:not(:nth-child(-n+0))
body:not(:nth-child(-n+1))
body:not(:nth-child(-n-0))
body:not(:nth-child(-n-1))
body:not(:nth-child(0n+1))
body:not(:nth-child(0n-1))
body:not(:nth-child(1))
body:not(:nth-child(odd))
body:not(:nth-last-child(-0n-1))
body:not(:nth-last-child(-n))
body:not(:nth-last-child(-n+0))
body:not(:nth-last-child(-n-0))
body:not(:nth-last-child(-n-1))
body:not(:nth-last-child(0n-1))
body:not(:nth-last-child(even))
body:not(:nth-last-of-type(-0n-1))
body:not(:nth-last-of-type(-n))
body:not(:nth-last-of-type(-n+0))
body:not(:nth-last-of-type(-n-0))
body:not(:nth-last-of-type(-n-1))
body:not(:nth-last-of-type(0n-1))
body:not(:nth-last-of-type(even))
body:not(:nth-of-type(-0n-1))
body:not(:nth-of-type(-n))
body:not(:nth-of-type(-n+0))
body:not(:nth-of-type(-n-0))
body:not(:nth-of-type(-n-1))
body:not(:nth-of-type(0n-1))
body:not(:nth-of-type(even))
body:nth-child(1n)
body:nth-child(1n+0)
body:nth-child(1n+1)
body:nth-child(1n-0)
body:nth-child(1n-1)
body:nth-child(even)
body:nth-child(n)
body:nth-child(n+0)
body:nth-child(n+1)
body:nth-child(n-0)
body:nth-child(n-1)
body:nth-last-child(-0n+1)
body:nth-last-child(-1n+1)
body:nth-last-child(-n+1)
body:nth-last-child(0n+1)
body:nth-last-child(1)
body:nth-last-child(1n)
body:nth-last-child(1n+0)
body:nth-last-child(1n+1)
body:nth-last-child(1n-0)
body:nth-last-child(1n-1)
body:nth-last-child(n)
body:nth-last-child(n+0)
body:nth-last-child(n+1)
body:nth-last-child(n-0)
body:nth-last-child(n-1)
body:nth-last-child(odd)
body:nth-last-of-type(-0n+1)
body:nth-last-of-type(-1n+1)
body:nth-last-of-type(-n+1)
body:nth-last-of-type(0n+1)
body:nth-last-of-type(1)
body:nth-last-of-type(1n)
body:nth-last-of-type(1n+0)
body:nth-last-of-type(1n+1)
body:nth-last-of-type(1n-0)
body:nth-last-of-type(1n-1)
body:nth-last-of-type(n)
body:nth-last-of-type(n+0)
body:nth-last-of-type(n+1)
body:nth-last-of-type(n-0)
body:nth-last-of-type(n-1)
body:nth-last-of-type(odd)
body:nth-of-type(-0n+1)
body:nth-of-type(-1n+1)
body:nth-of-type(-n+1)
body:nth-of-type(0n+1)
body:nth-of-type(1)
body:nth-of-type(1n)
body:nth-of-type(1n+0)
body:nth-of-type(1n+1)
body:nth-of-type(1n-0)
body:nth-of-type(1n-1)
body:nth-of-type(n)
body:nth-of-type(n+0)
body:nth-of-type(n+1)
body:nth-of-type(n-0)
body:nth-of-type(n-1)
body:nth-of-type(odd)
body:only-of-type
body:not(:nth-child(1))
nnnnnynnnynnnnyyyynnyyyyyyyyyy
body:not(:nth-child(-1n))
body:not(:nth-child(-1n+0))
body:not(:nth-child(-1n+1))
body:not(:nth-child(-1n-0))
body:not(:nth-child(-1n-1))
body:not(:nth-last-child(-1n+0))
body:not(:nth-last-child(-1n-0))
body:not(:nth-last-child(-1n-1))
body:not(:nth-last-of-type(-1n+0))
body:not(:nth-last-of-type(-1n-0))
body:not(:nth-last-of-type(-1n-1))
body:not(:nth-of-type(-1n+0))
body:not(:nth-of-type(-1n-0))
body:not(:nth-of-type(-1n-1))
body:not(:nth-child(-1n))
nnnnnynnnynnnnyyyynnyyyyynnnny
body:not(:nth-child(+0n+1))
body:not(:nth-child(+0n-1))
body:not(:nth-child(+1))
body:not(:nth-child(-1))
body:not(:nth-last-child(+0n-1))
body:not(:nth-last-child(-1))
body:not(:nth-last-of-type(+0n-1))
body:not(:nth-last-of-type(-1))
body:not(:nth-of-type(+0n-1))
body:not(:nth-of-type(-1))
body:nth-child(+1n)
body:nth-child(+1n+0)
body:nth-child(+1n+1)
body:nth-child(+1n-0)
body:nth-child(+1n-1)
body:nth-last-child(+0n+1)
body:nth-last-child(+1)
body:nth-last-child(+1n)
body:nth-last-child(+1n+0)
body:nth-last-child(+1n+1)
body:nth-last-child(+1n-0)
body:nth-last-child(+1n-1)
body:nth-last-of-type(+0n+1)
body:nth-last-of-type(+1)
body:nth-last-of-type(+1n)
body:nth-last-of-type(+1n+0)
body:nth-last-of-type(+1n+1)
body:nth-last-of-type(+1n-0)
body:nth-last-of-type(+1n-1)
body:nth-of-type(+0n+1)
body:nth-of-type(+1)
body:nth-of-type(+1n)
body:nth-of-type(+1n+0)
body:nth-of-type(+1n+1)
body:nth-of-type(+1n-0)
body:nth-of-type(+1n-1)
body:nth-child(+1n)
nnnnnynnnynnnnyyyynnnnnyynnnnn
body:not(:nth-last-child(-1n))
body:not(:nth-last-of-type(-1n))
body:not(:nth-of-type(-1n))
body:not(:nth-last-child(-1n))
nnnnnynnnynnnnyyyynnnnnynnnnny
body:nth-last-child(+n+1)
body:nth-last-of-type(+n+1)
body:nth-of-type(+n+1)
body:nth-last-child(+n+1)
nnnnnnnnnynnnnyyyynnnnnyynnnnn
body:nth-child(+n)
body:nth-child(+n+0)
body:nth-child(+n+1)
body:nth-child(+n-0)
body:nth-child(+n-1)
body:nth-last-child(+n)
body:nth-last-child(+n+0)
body:nth-last-child(+n-0)
body:nth-last-child(+n-1)
body:nth-last-of-type(+n)
body:nth-last-of-type(+n+0)
body:nth-last-of-type(+n-0)
body:nth-last-of-type(+n-1)
body:nth-of-type(+n)
body:nth-of-type(+n+0)
body:nth-of-type(+n-0)
body:nth-of-type(+n-1)
body:nth-child(+n)
nnnnnnnnnynnnnyyyynnnnnnnnnnnn
body:not(:root:root) nnnnnnnnnnnnnnnnnnyyyynnnyynnn
body:nth-child(-1n)
body:nth-child(-1n+0)
body:nth-child(-1n+1)
body:nth-child(-1n-0)
body:nth-child(-1n-1)
body:nth-last-child(-1n+0)
body:nth-last-child(-1n-0)
body:nth-last-child(-1n-1)
body:nth-last-of-type(-1n+0)
body:nth-last-of-type(-1n-0)
body:nth-last-of-type(-1n-1)
body:nth-of-type(-1n+0)
body:nth-of-type(-1n-0)
body:nth-of-type(-1n-1)
body:nth-child(-1n)
nnnnnnnnnnnnnnnnnnnnnnnnnyyyyn
body:not(:nth-child(n0))
body:not(:nth-child(n1))
body:not(:nth-last-child(n0))
body:not(:nth-last-child(n1))
body:not(:nth-last-of-type(n0))
body:not(:nth-last-of-type(n1))
body:not(:nth-of-type(n0))
body:not(:nth-of-type(n1))
body:not(:nth-child(n0))
nnnnnnnnnnnnnnnnnnnnnnnnnnnnny
body:not(:nth-child(+n))
body:not(:nth-child(+n+0))
body:not(:nth-child(+n+1))
body:not(:nth-child(+n-0))
body:not(:nth-child(+n-1))
body:not(:nth-last-child(+n))
body:not(:nth-last-child(+n+0))
body:not(:nth-last-child(+n-0))
body:not(:nth-last-child(+n-1))
body:not(:nth-last-of-type(+n))
body:not(:nth-last-of-type(+n+0))
body:not(:nth-last-of-type(+n-0))
body:not(:nth-last-of-type(+n-1))
body:not(:nth-of-type(+n))
body:not(:nth-of-type(+n+0))
body:not(:nth-of-type(+n-0))
body:not(:nth-of-type(+n-1))
body:not(:nth-child(+n))
nnnnnnnnnnnnnnnnnnnnnnnyynnnnn
body:nth-last-child(-1n)
body:nth-last-of-type(-1n)
body:nth-of-type(-1n)
body:nth-last-child(-1n)
nnnnnnnnnnnnnnnnnnnnyyynyyyyyn
body:nth-child(n0)
body:nth-child(n1)
body:nth-last-child(n0)
body:nth-last-child(n1)
body:nth-last-of-type(n0)
body:nth-last-of-type(n1)
body:nth-of-type(n0)
body:nth-of-type(n1)
body:nth-child(n0)
nnnnnnnnnnnnnnnnnnnnyyyyyyyyyn
In-stylesheet media query hacks
@media (example, all,), all {} nnnnnyyynyThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednnnyyynnnnnnnnnnnn
@media &test, all {} nnnnnyyynyThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednnnnyynnnnnnnnnnnn
@media {} nnnnnyyynnThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednnnnyynnnnnnnnnyyy
@media (orientation) {} nnnnnynnnnThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednnnnnynnnnnnnnnnnn
@media all and (orientation) {} nnnnnynnnnnnnynnnynnnnnnnnnnnn
@media all and (min-color:0) {} nnnnnynnnynnnyyyyynyyyyyynnyyy
@media all and (color), not all and (color)
@media all and (min-width:0px)
@media not all and (min-width:10000px)
@media all and (min-width:0px) {}
nnnnnynnnyyyyyyyyynyyyyyynnyyy
@media (min-color:0)
@media (min-width:0px)
@media (min-color:0) {}
nnnnnynnnyThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednnnyyynnnyyyynnyyy
@media (color), not (color) {} nnnnnynnnyThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednnnyyynnnnnnnnnnnn
@media not (min-width:10000px) {} nnnnnnnnnyThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednnnynnnnnnnnnnnnnn
@media (-webkit-min-device-pixel-ratio:0) {} nnnnnnnnnnThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednnnnnnnnnyyyynnnnn
@media all and (-webkit-min-device-pixel-ratio:0), all and (-webkit-min-device-pixel-ratio:0)
@media all and (-unknown-test:0), all and (-unknown-test:0)
@media not all and
@media (-webkit-min-device-pixel-ratio:0)
@media (-unknown-test:0)
@media (min-orientation)
@media not (min-width:0px)
@media (min-width:10000px)
@media not (min-width:-100px)
@media not
@media not (min-color:0)
@media (min-orientation:0)
@media not {}
nnnnnnnnnnThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednnnnnnnnnnnnnnnnnn
@media all and (-unknown-test:0), not all and (-unknown-test:0)
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0)
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0)
@media all and (-unknown-test:0), not all and (-unknown-test:0) {}
nnnnnnnnnnThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednnnnyynnnnnnnnnnnn
@media not all and (min-width:-100px) {} nnnnnnnnnnnnnnnnyynnnnnnnnnnnn
@media not (-webkit-min-device-pixel-ratio:0) {} nnnnnnnnnnThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednnnynnnnnnnnnnnnnn
@media (min-width:-100px) {} nnnnnnnnnnThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednThe next rule in the stylesheet is ignorednnnynnnnnyyyynnyyy
@media all and (-webkit-min-device-pixel-ratio:0)
@media (-webkit-min-device-pixel-ratio:0), (-webkit-min-device-pixel-ratio:0)
@media all and (-webkit-min-device-pixel-ratio:0) {}
nnnnnnnnnnnnnynnnnnyyyyyynnnnn
@media all and (-webkit-min-device-pixel-ratio:0)
@media all and (-unknown-test:0)
@media all and (min-orientation)
@media (-unknown-test:0), (-unknown-test:0)
@media all and (min-orientation) {}
nnnnnnnnnnnnnynnnnnnnnnnnnnnnn
@media not all and (min-color:0) {} nnnnnnnnnnyyynnnnnnnnnnnnnnnnn
@media not all and (-webkit-min-device-pixel-ratio:0) {} nnnnnnnnnnyyynyyyynnnnnnnnnyyy
@media not all and (-webkit-min-device-pixel-ratio:0) {} nnnnnnnnnnyyynyyyynyyyyyynnyyy
@media all and (min-width:-100px) {} nnnnnnnnnnyyyyyynnnyyyyyynnyyy
@media (-unknown-test:0), not (-unknown-test:0)
@media (-webkit-min-device-pixel-ratio:10000), not (-webkit-min-device-pixel-ratio:0)
@media (-webkit-min-device-pixel-ratio:10000), not (-webkit-min-device-pixel-ratio:0)
@media (-unknown-test:0), not (-unknown-test:0) {}
nnnnnnnnnnyyyyyyyynyyyyyynnyyy