Media queries
Media queries is a feature of CSS3 allowing content rendering to adapt to different conditions such as screen resolution. It became a W3C recommended standard in June 2012, and is a cornerstone technology of responsive web design.
History
Media queries were first sketched in Håkon Wium Lie's initial CSS proposal in 1994, but they did not become part of CSS1. The HTML4 Recommendation from 1997 shows an example of how media queries could be added in the future. In 2000, W3C started work on media queries and also on another scheme for supporting various devices: CC/PP. The two address the same problem, but CC/PP is server-centric, while media queries are browser-centric. The first public working draft for media queries was published in 2001, and the specification became a W3C Recommendation in 2012 after browsers added support.Usage
A media query consists of a media type and one or more expressions, involving media features, which resolve to either true or false. The result of the query is true if the media type specified in the media query matches the type of device the document is being displayed on and all expressions in the media query are true. When a media query is true, the corresponding style sheet or style rules are applied, following the normal cascading rules.Media queries use the
Examples
The following are examples of CSS media queries:@media screen and
@media all and
@media screen and
Media types
A media type can be declared in the head of an HTML document using the "media" attribute inside of aThe media type "all" can also be used to indicate that a style sheet applies to all media types.
Media features
The following table contains the media features listed in the latest W3C recommendation for media queries, dated 6 June 2007.Feature | Value | Min/Max | Description |
color | integer | number of bits per color component | |
color-index | integer | number of entries in the color lookup table | |
device-aspect-ratio | integer/integer | aspect ratio | |
device-height | length | height of the output device | |
device-width | length | width of the output device | |
grid | integer | true for a grid-based device | |
height | length | height of the rendering surface | |
monochrome | integer | number of bits per pixel in a monochrome frame buffer | |
resolution | resolution | resolution | |
scan | "progressive" or "interlaced" | scanning process of "tv" media types | |
width | length | width of the rendering surface |