Re: @media and browsers conditional statments

media_feature: width | min-width | max-width
  | height | min-height | max-height
  | device-width | min-device-width | max-device-width
  | device-height | min-device-height | max-device-height
  | device-aspect-ratio | min-device-aspect-ratio | max-device-aspect-ratio
  | color | min-color | max-color
  | color-index | min-color-index | max-color-index
  | monochrome | min-monochrome | max-monochrome
  | resolution | min-resolution | max-resolution
  | scan | grid
  | ua-version | max-ua-version | between-ua-version
  | css-version | min-css-version | max-css-version
  | support

UA-version should be the name (trident, webkit, gecko, presto, ...) and the 
version of the render agent (not of the browser)
CSS-version should be the latest fully supported css version. Currently, it 
should be CSS2 for IE7, CSS2.1 for others browsers.
Support would provide support for queries about browsers caps (same result 
as implementation.hasFeature, or if the css property is supported by the 
browser)

The real name of the browser is not important because several browsers can 
share the same render agent.
Developpers should prefer "support" when it's possible, and use ua-version 
only to fix browser's bugs.

It's not possible to define rules for a browser (all versions, or greater 
than a version) because it's dangerous (a browser can change and fix bugs 
and others browsers may add feature supported by the browser. That should 
avoid browser spoofing in the future.

Versions should support 4 levels (version, sub-version, minor version, 
build) and * as wildchar

Samples :

@media (ua-version: trident 6.*) {
    /* Hacks for IE6 */
}

@media (max-ua-version: gecko 1.8.*) {
    /* FireFox 2 and lesser */
}

@media (betwee-ua-version: webkit 3.* 4.*) {
    /* Safari (3.0... to 4.99...) */
}

@media (support 'CSS' 3) {
    /* hasFeature return true for 'CSS', 3
}

@media (support background-type) {
    /* background-type is a supported property */
}

Fremy 

Received on Monday, 4 August 2008 07:07:44 UTC