browser strangeness

This is my public LIVE browser test page for my own css formatting "hack" contributions to the universe. If you are new to web development... These are quick-fixes for browser-specific bugs, not anything to do with illegal activity. Most of these are the product of my own research and labors and also permutations of other hacks to get the right results. Only a few special cases are not mine but are good and provide important basics so are worth including.

It is always better to use good css before resorting to css hack workarounds, but these are here for solutions in the meantime.

--Jeff Clayton [ tech blog: jeffclayton.wordpress.com ]



If a CSS "hack" matches your browser it will turn red.

-: Internet Explorer CSS :-


Special Purpose


_::selection, :root .selector { property:value; }
Anything But Firefox and Internet Explorer 8-
Author: Jeff Clayton
_::selection, .selector { property:value; }
Anything But Firefox and Internet Explorer 8
Author: Jeff Clayton
:root .selector { property:value; }
Anything But Internet Explorer 8-
_:root, .selector { property:value; }
Anything But Internet Explorer 8 (or ie6-)
Author: Jeff Clayton
.selector, #not#ie8 { property:value; }
Anything But Internet Explorer 8
_:lang(x), .selector { property:value; }
Anything But Internet Explorer 7-
Author: Jeff Clayton
_css-text, .selector { property:value; }
Anything But Internet Explorer 6-
Author: Jeff Clayton
.selector { prop\erty:value; }
Anything but Internet Explorer 5-

By Version


_:-ms-fullscreen, :root .selector { property:value; }
Internet Explorer 11+
Author: Jeff Clayton
_:-ms-lang(x), .selector { property:value; }
Internet Explorer 10+
Author: Jeff Clayton
_:-ms-input-placeholder, :root .selector { property:value; }
Internet Explorer 10+
Author: Jeff Clayton
_:-ms-lang(x), .selector { property:value\9; }
Internet Explorer 10
Author: Jeff Clayton
_::selection, .selector { property:value\0; }
Internet Explorer 9+
Author: Jeff Clayton
@media screen and (min-width:0\0) and (min-resolution:+72dpi) { .selector { property:value; } }
Internet Explorer 9+
Author: Jeff Clayton
@media screen and (min-width:0\0) and (min-resolution:.001dpcm) { .selector { property:value; } }
Internet Explorer 9
Author: Jeff Clayton
.selector { property:value\0; }
Internet Explorer 8+
.selector { property:value\0/; }
Internet Explorer 8
Source: Paul Irish
_:first, .selector { property:value; }
Internet Explorer 7
Author: Jeff Clayton
*+html .selector { property:value; }
Internet Explorer 7
Source: Paul Irish
.selector, { property:value; }
Internet Explorer 7-
Source: CSS Mojo
.selector { _property:value\9; }
Internet Explorer 6
Source: (Simple Combination)
.selector { _prop\erty:value; }
Internet Explorer 6
Source: (Simple Combination)
* html .selector { property:value; }
Internet Explorer 6-
Source: Web Devout
.selector { _property:value; }
Internet Explorer 6-
Source: Paul Irish

A Few Others


@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { .selector { property:value; } }
Internet Explorer 10+
Source: Paul Irish
@media screen\0 { .selector { property:value; } }
Internet Explorer 8+
Source: Keith Clark

-: Firefox CSS :-


Special Purpose


_::selection, :root .selector { property:value; }
Anything But Firefox and Internet Explorer 8-
Author: Jeff Clayton
_::selection, .selector { property:value; }
Anything But Firefox and Internet Explorer 8
Author: Jeff Clayton
_:-moz-tree-row(hover), .selector { property:value; }
Firefox (any)
Author: Jeff Clayton
_:-moz-any-link, :root .selector { property:value; }
Firefox (any)
Author: Jeff Clayton
@supports (-moz-appearance:none) { .selector { --this-variable:value; property:var(--this-variable); } }
Firefox 31+ (CSS3 Variable Method)
Author: Jeff Clayton
@-moz-document regexp('http:.*') { .selector { property:value; } }
Firefox 6+ (Non-SSL Pages Only)
Author: Jeff Clayton
@-moz-document regexp('https:.*') { .selector { property:value; } }
Firefox 6+ (SSL Pages Only)
Author: Jeff Clayton
@supports (-moz-osx-font-smoothing:auto) { .selector { property:value; } }
Firefox 25+ (Mac Only)
Author: Jeff Clayton
@media screen and (-moz-os-version) { .selector { property:value; } }
Firefox 25+ (Windows Only)
Author: Jeff Clayton
@media (-moz-windows-theme) { .selector { property:value; } }
Firefox 4+ (Windows Only)
Author: Jeff Clayton

By Version


@supports (-moz-appearance:none) and (ruby-position:over) { .selector { property:value; } }
Firefox 38+
Author: Jeff Clayton
_:-moz-tree-row(hover), _:unresolved, .selector { property:value; }
Firefox 38+
Author: Jeff Clayton
@supports (-moz-appearance:none) and (display:contents) { .selector { property:value; } }
Firefox 37+
Author: Jeff Clayton
@supports (-moz-appearance:none) and (display:contents) and (not (ruby-position:over)) { .selector { property:value; } }
Firefox 37
Author: Jeff Clayton
@supports (-moz-appearance:none) and (will-change:auto) { .selector { property:value; } }
Firefox 36+
Author: Jeff Clayton
@supports (-moz-appearance:none) and (will-change:auto) and (not (display:contents)) { .selector { property:value; } }
Firefox 36
Author: Jeff Clayton
@supports (-moz-appearance:none) and (mask-type:alpha) { .selector { property:value; } }
Firefox 35+
Author: Jeff Clayton
@supports (-moz-appearance:none) and (mask-type:alpha) and (not (will-change:auto)) { .selector { property:value; } }
Firefox 35
Author: Jeff Clayton
@supports (-moz-appearance:none) and (font-kerning:none) { .selector { property:value; } }
Firefox 34+
Author: Jeff Clayton
@supports (-moz-appearance:none) and (font-kerning:none) and (not (mask-type:alpha)) { .selector { property:value; } }
Firefox 34
Author: Jeff Clayton
@supports (-moz-appearance:none) and (list-style-type:any) { .selector { property:value; } }
Firefox 33+
Author: Jeff Clayton
@supports (-moz-appearance:none) and (list-style-type:any) and (not (font-kerning:none)) { .selector { property:value; } }
Firefox 33
Author: Jeff Clayton
@supports (-moz-appearance:none) and (box-decoration-break:clone) { .selector { property:value; } }
Firefox 32+
Author: Jeff Clayton
_:-moz-tree-row(hover), _:scope, .selector { property:value; }
Firefox 32+
Author: Jeff Clayton
@supports (-moz-appearance:none) and (box-decoration-break:clone) and (not (list-style-type:any)) { .selector { property:value; } }
Firefox 32
Author: Jeff Clayton
@supports (-moz-appearance:none) and (background-blend-mode:difference,normal) { .selector { property:value; } _::-moz-math-stretchy, .selector { property:value; } }
Firefox 31+ /* The second selector blocks 30 */
Author: Jeff Clayton
_:-moz-tree-row(hover), .selector { --this-variable:value; property:var(--this-variable); }
Firefox 31+ (CSS3 Variable Method)
Author: Jeff Clayton
@supports (-moz-background-inline-policy:continuous) and (background-blend-mode:difference,normal) { .selector { property:value; } _::-moz-math-stretchy, .selector { property:value; } }
Firefox 31 /* The second selector blocks 30 */
Author: Jeff Clayton
@supports (-moz-background-inline-policy:continuous) { .selector { --this-variable:value; property:var(--this-variable); } }
Firefox 31 (CSS3 Variable Method)
Author: Jeff Clayton
@supports (-moz-background-inline-policy:continuous) and (background-blend-mode:difference,normal) { .selector { property:value; } }
Firefox 30-31
Author: Jeff Clayton
@supports (-moz-appearance:none) and (background-blend-mode:difference,normal) { .selector { property:value; } }
Firefox 30+
@supports (background-blend-mode:difference,normal) { _::-moz-math-stretchy, .selector { property:value; } }
Firefox 30
Author: Jeff Clayton
@supports (-moz-appearance:none) and (box-sizing:content-box) { .selector { property:value; } }
Firefox 29+
Author: Jeff Clayton
@supports (-moz-appearance:none) and (box-sizing:content-box) and (not (background-blend-mode:difference,normal)) { .selector { property:value; } }
Firefox 29
Author: Jeff Clayton
@supports (-moz-appearance:none) and (list-style-type:japanese-formal) { .selector { property:value; } }
Firefox 28+
_:-moz-tree-row(hover), _::-moz-range-track:hover, .selector { property:value; }
Firefox 28+
Author: Jeff Clayton
@supports (-moz-appearance:none) and (list-style-type:japanese-formal) and (not (box-sizing:content-box)) { .selector { property:value; } }
Firefox 28
Author: Jeff Clayton
_:-moz-tree-row(hover), _::-moz-color-swatch, .selector { property:value; }
Firefox 27+
Author: Jeff Clayton
@supports (-moz-appearance:none) and (all:initial) { .selector { property:value; } }
Firefox 27+
@supports (-moz-appearance:none) and (all:initial) and (not (list-style-type:japanese-formal)) { .selector { property:value; } }
Firefox 27
@supports (-moz-appearance:none) and (image-orientation:90deg) { .selector { property:value; } }
Firefox 26+
_:-moz-devtools-highlighted, :root .selector { property:value; }
Firefox 26+
Author: Jeff Clayton
@supports (-moz-appearance:none) and (image-orientation:90deg) and (not (all:initial)) { .selector { property:value; } }
Firefox 26
@supports (-moz-appearance:none) and (background-attachment:local) { .selector { property:value; } }
Firefox 25+
@supports (background-attachment:local) and (-moz-text-blink:none) { .selector { property:value; } }
Firefox 25
Author: Jeff Clayton
@supports (-moz-appearance:none) and (cursor:zoom-in) { .selector { property:value; } }
Firefox 24+
@supports (-moz-appearance:none) and (cursor:zoom-in) and (not (background-attachment:local)) { .selector { property:value; } }
Firefox 24
@supports (-moz-appearance:none) and (not (cursor:zoom-in)) { .selector { property:value; } }
Firefox 22-23
@supports (-moz-appearance:none) and (display:flex) { .selector { property:value; } }
Firefox 22+
Author: Jeff Clayton
_:-moz-tree-row(hover), _::-moz-range-progress, .selector { property:value; }
Firefox 22+
Author: Jeff Clayton
_:-moz-tree-row(hover), _::-moz-range-track, .selector { property:value; }
Firefox 21+
Author: Jeff Clayton
_:-moz-tree-row(hover), _::-moz-placeholder, .selector { property:value; }
Firefox 19+
Author: Jeff Clayton
_:-moz-handler-playpreview, :root .selector { property:value; }
Firefox 17+
Author: Jeff Clayton
_:-moz-dir(ltr), .selector { property:value; }
Firefox 17+
Author: Jeff Clayton
_:-moz-dir(ltr), _:-moz-has-handlerref, .selector { property:value; }
Firefox 17
Author: Jeff Clayton
@media screen and (min--moz-device-pixel-ratio:0) and (min-resolution:.1dppx) { .selector { property:value; } }
Firefox 16+
Author: Jeff Clayton
_:-moz-meter-optimum, :root .selector { property:value; }
Firefox 16+
Author: Jeff Clayton
_:-moz-tree-row(hover), _::-moz-meter-bar, .selector { property:value; }
Firefox 16+
Author: Jeff Clayton
_:-moz-type-unsupported-platform, :root .selector { property:value; }
Firefox 15+
Author: Jeff Clayton
@media screen and (-moz-images-in-menus:0) { @media (min-width:0px) { .selector { property:value; } } }
Firefox 11+
Author: Jeff Clayton
_:-moz-full-screen-ancestor, :root .selector { property:value; }
Firefox 10+
Author: Jeff Clayton
_:-moz-full-screen, :root .selector { property:value; }
Firefox 9+
Author: Jeff Clayton
@media screen and (-moz-images-in-menus:0) and (min-resolution:.001dpcm) { .selector { property:value; } }
Firefox 8+
Author: Jeff Clayton
@-moz-document regexp('*') { .selector { property:value; } }
Firefox 6+
Author: Jeff Clayton
_:-moz-tree-row(hover), _::-moz-progress-bar, .selector { property:value; }
Firefox 6+
Author: Jeff Clayton
_:-moz-ui-valid, :root .selector { property:value; }
Firefox 4+
Author: Jeff Clayton
_:-moz-handler-crashed, :root .selector { property:value; }
Firefox 3.6+
Author: Jeff Clayton
_:not(), _:-moz-handler-crashed, .selector { property:value; }
Firefox 3.6
Author: Jeff Clayton
_:not(), .selector { property:value; }
Firefox 3.6- (Firefox < 4.0)
Author: Jeff Clayton
_:not(), _:-moz-loading, .selector { property:value; }
Firefox 3.x (Firefox 3.0-3.6)
Author: Jeff Clayton
_:-moz-handler-blocked, :root .selector { property:value; }
Firefox 3.5+
Author: Jeff Clayton
_:-moz-loading, :root .selector { property:value; }
Firefox 3+
Author: Jeff Clayton
_:-moz-is-html, :root .selector { property:value; }
Firefox 2+
Author: Jeff Clayton
_:-moz-read-write, :root .selector { property:value; }
Firefox 1.5+
Author: Jeff Clayton
_:-moz-only-whitespace, :root .selector { property:value; }
Firefox 1.5+
Author: Jeff Clayton
_:-moz-tree-row(hover), _::-moz-viewport, .selector { property:value; }
Firefox 1.x (Firefox 1.0-1.5)
Author: Jeff Clayton
_:-moz-any-link, :root .selector { property:value; }
Firefox 1.0+ (any)
Author: Jeff Clayton
_:-moz-tree-row(hover), .selector { property:value; }
Firefox 1.0+ (any)
Author: Jeff Clayton

A Few Others


@supports (-moz-appearance:none) and (list-style-type:disclosure-open) { .selector { property:value; } }
Firefox 33+
Author: Jeff Clayton
@supports (-moz-appearance:none) and (image-orientation:90deg) { @supports not (all:initial) { .selector { property:value; } } }
Firefox 26 (nested method)
Author: Jeff Clayton
@supports (-moz-appearance:none) and (background-attachment:local) and (not (image-orientation:90deg)) { .selector { property:value; } }
Firefox 25
@supports (display:flex) and (-moz-background-inline-policy:continuous) { .selector { property:value; } }
Firefox 22-31
Author: Jeff Clayton
_:-moz-tree-row(hover), _::-moz-math-stretchy, _::-moz-range-progress, .selector { property:value; }
Firefox 22-30
Author: Jeff Clayton
_:-moz-tree-row(hover), _::-moz-math-stretchy, _::-moz-range-track, .selector { property:value; }
Firefox 21-30
Author: Jeff Clayton
_::-moz-math-stretchy, _:-moz-ui-valid, :root .selector { property:value; }
Firefox 4-30
Author: Jeff Clayton
_:not(), _:-moz-handler-blocked, .selector { property:value; }
Firefox 3.5-3.6
Author: Jeff Clayton
_:not(), _:optional, .selector { property:value; }
Firefox 1.5-3.6 (Firefox > 1.0 and < 4.0)
Author: Jeff Clayton

-: Chrome and Safari CSS :-


If you are using iOS Chrome (say in version 7) and the hacks seem to be off, BEFORE you complain that these do not work, there is nothing wrong with the hacks -- it is not like other versions of Chrome. iOS Chrome uses the Safari hacks INSTEAD of the ones for Chrome. Chrome for iOS is NOT using the Chrome engine but opted to use the Safari engine from Apple instead. It may look like Chrome, but it isn't when you look under the hood. More about that here: http://allthingsd.com/20120628/googles-chrome-for-ios-is-more-like-a-chrome-plated-apple

Special Purpose


_:-webkit-full-screen-ancestor, :root .selector { property:value; }
iOS Blocker! (For Chrome 15+, Safari 5.1+, and Opera 14+) [If using Android, Requires OS & Browser 4.0+]
Author: Jeff Clayton
.selector:not(*:root) { property:value; }
Chrome and Safari (and Opera 14+)
Source: Known Hack
_:not(*:root), .selector { property:value; }
Chrome and Safari (and Opera 14+) (Another Way)
Author: Jeff Clayton
_:-webkit-any-link, :root .selector { property:value; }
Chrome and Safari (and Opera 14+)
Author: Jeff Clayton
@media screen and (-webkit-min-device-pixel-ratio:0) { .selector { property:value; } }
Chrome and Safari (and Opera 14+)
Source: Paul Irish
@media screen and (min-color-index:0) { _:-webkit-full-screen, .selector {(; property:value; );} }
Safari 6.1-7.0 (Not iOS)
Author: Jeff Clayton
_:-webkit-full-screen, _::-webkit-full-page-media, _:future, :root .selector { property:value; }
Safari 7.1-8.0 (7.1+, Not iOS)
Author: Jeff Clayton
@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) { @media { _:-webkit-full-screen, .selector { property:value; } } }
Safari 6.1-8.0 (6.1+, Not iOS)
Author: Jeff Clayton

By Version


- Safari-Only CSS -


@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) { @media { .selector { property:value; } } }
Safari 6.1-8.0 (6.1+)
Author: Jeff Clayton
_::-webkit-full-page-media, _:future, :root .selector { property:value; }
Safari 7.1-8.0 (7.1+)
Author: Jeff Clayton
@media screen and (-webkit-min-device-pixel-ratio:0) and (min-color-index:0) { .selector {(; property:value; );} }
Safari 6.1-7.0
Author: Jeff Clayton

- Chrome-Only CSS -


@supports (-webkit-appearance:none) and (color:unset) { .selector { property:value; } }
Chrome 41+ (and Opera 28+)
Author: Jeff Clayton
@supports (-webkit-appearance:none) and (not (-webkit-aspect-ratio:none)) { .selector { property:value; } }
Chrome 40+ (and Opera 27+)
Author: Jeff Clayton
@supports (-webkit-appearance:none) and (not (-webkit-aspect-ratio:none)) and (not (color:unset)) { .selector { property:value; } }
Chrome 40 (and Opera 27)
Author: Jeff Clayton
@supports (-webkit-appearance:none) and (shape-outside:none) and (not (will-change:auto)) { .selector { property:value; } }
Chrome 39+ (and Opera 26+)
Author: Jeff Clayton
@supports (-webkit-aspect-ratio:none) and (shape-outside:none) and (not (will-change:auto)) { .selector { property:value; } }
Chrome 39 (and Opera 26)
Author: Jeff Clayton
@supports (-webkit-appearance:none) and (shape-outside:none) and (will-change:auto) { .selector { property:value; } }
Chrome 37-38 (and Opera 24-25)
Author: Jeff Clayton
@supports (-webkit-appearance:none) and (shape-outside:none) { .selector { property:value; } }
Chrome 37+ (and Opera 24+)
Author: Jeff Clayton
@supports (-webkit-appearance:none) and (touch-action:auto) { .selector { property:value; } }
Chrome 36+ (and Opera 23+)
Author: Jeff Clayton
@supports (-webkit-appearance:none) and (touch-action:auto) and (not (shape-outside:none)) { .selector { property:value; } }
Chrome 36 (and Opera 23)
Author: Jeff Clayton
_::content, _:future, _:not(*:root), .selector { property:value; }
Chrome 35+ (and Opera 22+)
Author: Jeff Clayton
_:-webkit-any-link, _:host, :root .selector { property:value; }
Chrome 35+ (and Opera 22+)
Author: Jeff Clayton
@supports (-webkit-appearance:none) and (background-blend-mode:difference,normal) { .selector { property:value; } }
Chrome 35+ (and Opera 22+)
@supports (-webkit-appearance:none) and (background-blend-mode:difference,normal) and (not (touch-action:auto)) { .selector { property:value; } }
Chrome 35
Author: Jeff Clayton
_::-webkit-seamless-document, _:unresolved, :root .selector { property:value; }
Chrome 34+ (and Opera 21+)
Author: Jeff Clayton
@supports (-webkit-appearance:none) and (font-variant-ligatures:normal) { .selector { property:value; } }
Chrome 34+ (and Opera 21+)
@supports (-webkit-appearance:none) and (font-variant-ligatures:normal) and (not (background-blend-mode:difference,normal)) { .selector { property:value; } }
Chrome 34 (and Opera 21)
@supports (-webkit-appearance:none) and (font-kerning:auto) { .selector { property:value; } }
Chrome 33+ (and Opera 20+)
@supports (-webkit-appearance:none) and (font-kerning:auto) and (not (font-variant-ligatures:normal)) { .selector { property:value; } }
Chrome 33 (and Opera 20)
@supports (-webkit-appearance:none) and (object-fit:none) { .selector { property:value; } }
Chrome 32+ (and Opera 19+)
Author: Jeff Clayton
_:not(*:root), _:unresolved, .selector { property:value; }
Chrome 32+ (and Opera 19+)
Author: Jeff Clayton
@supports (-webkit-appearance:none) and (object-fit:none) and (not (font-kerning:auto)) { .selector { property:value; } }
Chrome 32 (and Opera 19)
@supports (-webkit-appearance:none) and (not (-webkit-marquee-repetition:infinite)) { .selector { property:value; } }
Chrome 31+ (and Opera 18+)
Author: Jeff Clayton
@supports (-webkit-appearance:none) and (not (-webkit-marquee-repetition:infinite)) and (not (object-fit:none)) { .selector { property:value; } }
Chrome 31 (and Opera 18)
Author: Jeff Clayton
_::backdrop, _:future, _:not(*:root), .selector { property:value; }
Chrome 30+ (and Opera 17+)
Author: Jeff Clayton
@supports (-webkit-appearance:none) and (justify-content:inherit) and (not (-webkit-hyphens:auto)) { .selector { property:value; } }
Chrome 30+ (and Opera 17+)
Author: Jeff Clayton
@supports (-webkit-marquee-repetition:infinite) and (not (-webkit-hyphens:auto)) { .selector { property:value; } }
Chrome 30 (and Opera 17)
Author: Jeff Clayton
@supports (-webkit-appearance:none) and (justify-content:inherit) { .selector { property:value; } }
Chrome 29+ (and Opera 16+)
Author: Jeff Clayton
@media screen and (-webkit-min-device-pixel-ratio:0) and (min-resolution:.001dpcm) { .selector { property:value; } }
Chrome 29+ (and Opera 16+)
Author: Jeff Clayton
@supports (-webkit-hyphens:auto) and (justify-content:inherit) { .selector { property:value; } }
Chrome 29 (and Opera 16)
Author: Jeff Clayton
@supports (-webkit-appearance:none) { .selector { property:value; } }
Chrome 28+ (and Opera 14+)
Author: Jeff Clayton
@supports (overflow:-webkit-marquee) { .selector { property:value; } }
Chrome 28 (and Opera 14-15)
Author: Jeff Clayton
@media screen and(-webkit-min-device-pixel-ratio:0) { .selector {-chrome-:only(; property:value; );} }
Chrome 22-28 (and Opera 14-15)
Author: Jeff Clayton

A Few Others


@supports (-webkit-font-smoothing:antialiased) { .selector { property:value; } }
Chrome 28+ (and Opera 14+)
Author: Jeff Clayton
@supports (-webkit-appearance:none) and (shape-outside:none) and (not (will-change:auto)) { _::cue-region, .selector { property:value; } }
Chrome 39 (and Opera 26)
Author: Jeff Clayton
@media screen and (-webkit-min-device-pixel-ratio:0) and (orientation) { .selector {-chrome-:only(; property:value; );} }
Chrome 24-28 (and Opera 14-15)
Author: Jeff Clayton
@media screen and(-webkit-min-device-pixel-ratio:0) { _:scope, _:future, .selector {-chrome-:only(; property:value; );} }
Chrome 27-28 (and Opera 14-15)
Author: Jeff Clayton
@media screen and(-webkit-min-device-pixel-ratio:0) { _:future, .selector {-chrome-:only(; property:value; );} }
Chrome 26-28 (and Opera 14-15)
Author: Jeff Clayton
@media screen and(min--moz-device-pixel-ratio:0) { .selector { property:value; } }
Chrome 22-25
Author: Jeff Clayton
@media screen and (orientation) { ::webkit, .selector { property:value; } }
Chrome 24
Author: Jeff Clayton
@media screen and(-webkit-min-device-pixel-ratio:0) { ::webkit, .selector { property:value; } }
Chrome 22-24
Author: Jeff Clayton
@media screen and(-webkit-min-device-pixel-ratio:0) { _::-moz-svg-foreign-content, _:scope, .selector { property:value; } }
Chrome 22-23
Author: Jeff Clayton

- Chrome & Safari Combined CSS -


_::-webkit-seamless-document, _:future, :root .selector { property:value; }
Chrome 34+, Safari 6.1+ (and Opera 21+)
Author: Jeff Clayton
_:scope, _:future, _:not(*:root), .selector { property:value; }
Chrome 27+, Safari 6.1+ (and Opera 14+)
Author: Jeff Clayton
_:future, _:not(*:root), .selector { property:value; }
Chrome 26+, Safari 6.1+ (and Opera 14+)
Author: Jeff Clayton
@media screen and (-webkit-min-device-pixel-ratio:0) and (orientation) { .selector { property:value; } }
Chrome 24+, Safari 6.1+ (and Opera 14+)
Author: Jeff Clayton
@media screen and (-webkit-min-device-pixel-ratio:0) and (min-resolution:.001dpcm), screen and(-webkit-min-device-pixel-ratio:0) { .selector { property:value; } }
Chrome 22+, Safari 6.1+ (and Opera 14+)
Author: Jeff Clayton
@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) { .selector { property:value; } }
Chrome 22-25, Safari 6.1+
Author: Jeff Clayton
_::-moz-svg-foreign-content, _:scope, :root .selector { property:value; }
Safari 6.0, Chrome 19-23
Author: Jeff Clayton
@media screen and (min-width:-100px) and (-webkit-min-device-pixel-ratio:0) { .selector { property:value; } }
Safari 6.0-, Chrome 23-
Author: Jeff Clayton
_:-webkit-full-screen-ancestor, :root .selector { property:value; }
Safari 5.1+, Chrome 15+ (and Opera 14+), Android Browser 4+, Android OS 4.0+, iOS Blocker!
Author: Jeff Clayton
_:-webkit-full-screen, :root .selector { property:value; }
Safari 5.1+, Chrome 11, 15+ (and Opera 14+), Android Browser 4+, Android OS 4.0+, iOS Blocker!
Author: Jeff Clayton
_:nth-last-child(n), _:-webkit-any(x), .selector { property:value; }
Safari 5.1+, Chrome 13+ (and Opera 14+)
Author: Jeff Clayton
_:-webkit-any(x), .selector { property:value; }
Safari 5.1+, Chrome 12+ (and Opera 14+)
Author: Jeff Clayton
_:in-range, _:not(*:root), .selector { property:value; }
Safari 5.1+, Chrome 10+ (and Opera 14+)
Author: Jeff Clayton
_::-webkit-input-speech-button, :root .selector { property:value; }
Safari 5.1+, Chrome 7+ (and Opera 14+)
Author: Jeff Clayton
_::-webkit-progress-bar-value, :root .selector { property:value; }
Safari 5.1+, Chrome 6+ (and Opera 14+)
Author: Jeff Clayton
_::-webkit-inner-spin-button, :root .selector { property:value; }
Safari 5.0+, Chrome 5+ (and Opera 14+)
Author: Jeff Clayton
@media not all and (min-resolution:.001dpcm) { _::-webkit-inner-spin-button, .selector { property:value; } }
Safari 5.0, Chrome 5
Author: Jeff Clayton
@media not all and (min-resolution:.001dpcm) { .selector { property:value; } }
Safari 5.0-, Chrome 5-
Author: Jeff Clayton
_:default, _:not(*:root), .selector { property:value; }
Safari 4.1+, Chrome 4+ (and Opera 14+)
Author: Jeff Clayton
@media screen and (min-width:0\-) { .selector { property:value; } }
Safari 4.1-, Chrome 5-
Author: Andy Kirk
@media screen and (min-width:0\0) { _:window-inactive, .selector { property:value; } }
Safari 4.x, Chrome 2-5
Author: Jeff Clayton
_:increment, _:not(*:root), .selector { property:value; }
Safari 4.0+, Chrome 2+ (and Opera 14+)
Author: Jeff Clayton
_:only-of-type, _:not(*:root), .selector { property:value; }
Safari 3.1+, Chrome 1+ (any) (and Opera 14+)
Author: Jeff Clayton
_:not(:root:root), .selector { property:value; }
Safari 3.X, Chrome 1
My own revision of a very old hack
_:not(*:root), .selector { property:value; }
Safari 3.0+, Chrome 1+ (any) (and Opera 14+)
Author: Jeff Clayton
_:-webkit-any-link, :root .selector { property:value; }
Safari 3.0+, Chrome 1+ (any) (and Opera 14+)
Author: Jeff Clayton

A Few Others


_::-moz-svg-foreign-content, :root .selector { property:value; }
Safari 5.1-6.0, Chrome 10-24
Author: Jeff Clayton
_::-webkit-input-speech-button, body:nth-last-child(n0) .selector { property:value; }
Chrome 7-9 (& old versions of Chrome 10 before 10.0.64)
Author: Jeff Clayton
body:nth-child(n0) .selector { property:value; }
Safari 3.1-5.0, Chrome 9- (& old versions of Chrome 10 before 10.0.64)
Source: Derived from Old Hacks
@media not all and (min-resolution:.001dpcm) { _:default, .selector { property:value; } }
Safari 4.1-5.0, Chrome 5
Author: Jeff Clayton
_:default, body:nth-last-child(n0) .selector { property:value; }
Safari 4.1-5.0, Chrome 4-9 (& old versions of Chrome 10 before 10.0.64)
Author: Jeff Clayton
_:window-inactive, body:nth-last-child(n0) .selector { property:value; }
Safari 4.0-5.0, Chrome 2-9 (& old versions of Chrome 10 before 10.0.64)
Author: Jeff Clayton

-: Opera Mini :-


Old Opera hacks still affect Opera Mini. Here is one of my combos that works... (A slightly simpler version of the one I updated for browserhacks to rule out Internet Explorer 7) and an old media query that still works as well.
_:-o-prefocus, :root .selector { property:value; }
Opera 9.5-12, Opera Mini 7.x (Opera 9.80)
Source: BrowserHacks.com (Modified)
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) { .selector { property:value; } }
Opera 11-, Opera Mini 7.x (Opera 9.80)
 

Source Control Testing
Copyright ©2014-2015 by Jeff Clayton