Is there some css selector or something of the like that allows you to apply different styles to elements in an inactive page/window in webkit? There is for scrollbars: http://www.webkit.org/blog/363/styling-scrollbars/ I'm using this to make a Titanium desktop application feel more native on Mac OS X. Thanks!
3 Answers
See: http://www.thefutureoftheweb.com/blog/detect-browser-window-focus
These events work in every major browser (Firefox, Internet Explorer 6/7, Safari & Opera).
Demo: http://www.thefutureoftheweb.com/demo/2007-05-16-detect-browser-window-focus/
function onBlur() {
document.body.className = 'blurred';
};
function onFocus(){
document.body.className = 'focused';
};
if (/*@cc_on!@*/false) { // check for Internet Explorer
document.onfocusin = onFocus;
document.onfocusout = onBlur;
} else {
window.onfocus = onFocus;
window.onblur = onBlur;
}

- 224,678
- 48
- 389
- 349
-
You'd think there would be something that could do it, there is for scrollbars, why not other things? Thanks for the answer though. – penguinrob May 27 '11 at 23:02
-
1I changed my answer after checking Google. It turns out there is a way after all. Sorry about that. – thirtydot May 27 '11 at 23:02
Since you is focusing only WebKit, you theoricaly could use :window-inactive
pseudo-selector, which is supposed to work with scrollbars. I haven't tested it on MacOS X, but you can try it.
But if you want something more cross-browser, use JavaScript to define a CSS class based on the window activity. See this thread: Is there a way to detect if a browser window is not currently active?

- 1
- 1

- 14,386
- 8
- 64
- 84
-
1I didn't notice that question you've linked. It's got exactly the same accepted answer as my answer here. Oh well. – thirtydot May 27 '11 at 23:16
unfortunately :window-inactive
is not standardized and only works on scrollbars and text selection using ::selection
as far as I know. You'd have to use javascript to get what you want.

- 1,091
- 7
- 11