CSS @media Rule

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP





googletag.cmd.push(function() googletag.display('div-gpt-ad-1422003450156-2'); );




CSS @media Rule



Previous
Complete CSS Reference
Next



Example


Change the background color of the <body> element to
"lightblue" when the browser window is 600px wide or less:



@media only screen and (max-width: 600px)
    body
       
background-color: lightblue;
   


Try it Yourself »

More "Try it Yourself" examples below.



Definition and Usage


The @media rule is used in media queries to apply different styles for different media types/devices.


Media queries can be used to check many things, such as:


  • width and height of the viewport

  • width and height of the device

  • orientation (is the tablet/phone in landscape or portrait mode?)

  • resolution

Using media queries are a popular technique for delivering a tailored style
sheet (responsive web design) to desktops, laptops, tablets, and mobile phones.


You can also use media queries to specify that certain styles are only for printed documents or for screen readers (mediatype: print, screen, or speech).


In addition to media types, there are also media features. Media features
provide more specific details to media queries, by allowing to test for a
specific feature of the user agent or display device. For example, you
can apply styles to only those screens that are greater, or smaller, than a
certain width.



Browser Support


The numbers in the table specifies the first browser version that fully supports the @media rule.















Property
@media 21 9 3.5 4.0 9







googletag.cmd.push(function() googletag.display('div-gpt-ad-1493883843099-0'); );





CSS Syntax



@media not|only mediatype and (media feature and|or|not
mediafeature)

    CSS-Code;



meaning of the not, only and and keywords:


not: The not keyword reverts the meaning of an entire media
query.


only: The only keyword prevents older browsers that do not support media queries with media features from applying the specified styles.
It has no effect on modern browsers.


and: The and keyword combines a media feature with a media
type or other media features.


They are all optional. However, if you use not or
only
, you must also specify a media type.



You can also have different stylesheets for different media, like
this:



<link rel="stylesheet" media="screen and (min-width:
900px)" href="widescreen.css">
<link rel="stylesheet" media="screen and (max-width:
600px)" href="smallscreen.css">
....


Media Types













Value Description
all Default. Used for all media type devices
print Used for printers
screen Used for computer screens, tablets, smart-phones etc.
speech Used for screenreaders that "reads" the page out loud


Media Features











































































Value Description
any-hover Does any available input mechanism allow the user to hover over
elements? (added in Media Queries Level 4)
any-pointer Is any available input mechanism a pointing device, and if so, how
accurate is it? (added in Media Queries Level 4)
aspect-ratio The ratio between the width and the height of the viewport
color The number of bits per color component for the output device
color-gamut The approximate range of colors that are supported by the user agent and
output device (added in Media Queries Level 4)
color-index The number of colors the device can display
grid Whether the device is a grid or bitmap
height The viewport height
hover Does the primary input mechanism allow the user to hover over elements?
(added in Media Queries Level 4)
inverted-colors Is the browser or underlying OS inverting colors? (added in Media
Queries Level 4)
light-level Current ambient light level (added in Media Queries Level 4)
max-aspect-ratio The maximum ratio between the width and the height of the display area
max-color The maximum number of bits per color component for the output device
max-color-index The maximum number of colors the device can display
max-height The maximum height of the display area, such as a browser window
max-monochrome The maximum number of bits per "color" on a monochrome (greyscale) device
max-resolution The maximum resolution of the device, using dpi or dpcm
max-width The maximum width of the display area, such as a browser window
min-aspect-ratio The minimum ratio between the width and the height of the display area
min-color The minimum number of bits per color component for the output device
min-color-index The minimum number of colors the device can display
min-height The minimum height of the display area, such as a browser window
min-monochrome The minimum number of bits per "color" on a monochrome (greyscale) device
min-resolution The minimum resolution of the device, using dpi or dpcm
min-width The minimum width of the display area, such as a browser window
monochrome The number of bits per "color" on a monochrome (greyscale) device
orientation The orientation of the viewport (landscape or portrait mode)
overflow-block How does the output device handle content that overflows the viewport along the block axis (added in Media Queries Level 4)
overflow-inline Can content that overflows the viewport along the inline axis be scrolled (added in Media Queries Level 4)
pointer Is the primary input mechanism a pointing device, and if so, how
accurate is it? (added in Media Queries Level 4)
resolution The resolution of the output device, using dpi or dpcm
scan The scanning process of the output device
scripting Is scripting (e.g. JavaScript) available? (added in Media Queries Level
4)
update How quickly can the output device modify the appearance of the content (added in Media Queries Level 4)
width The viewport width


More Examples



Example


Hide an element when the browser's width is 600px wide or less:



@media screen and (max-width: 600px)
  div.example
    display:
none;
 



Try it Yourself »



Example


Use mediaqueries to set the background-color to lavender if the viewport is
800 pixels wide or wider, to lightgreen if the viewport is between 400 and 799 pixels wide.
If the viewport is smaller than 400 pixels, the background-color is lightblue:



body
    background-color: lightblue;


@media screen and (min-width:
400px)
    body
       
background-color: lightgreen;
   


@media
screen and (min-width: 800px)
    body
       
background-color: lavender;
   


Try it Yourself »



Example


Create a responsive navigation menu (displayed horizontally on large screens and vertically on small screens):



@media screen and (max-width: 600px)
    .topnav a
       
float: none;
        width: 100%;
   



Try it Yourself »



Example


Use media queries to create a responsive column layout:



/* On screens that are 992px wide or less, go from four columns to two
columns */
@media screen and (max-width: 992px)
    .column
       
width: 50%;
   


/* On screens that are 600px wide or less, make the columns stack
on top of each other instead of next to each other */
@media screen and (max-width:
600px)
    .column
       
width: 100%;
   


Try it Yourself »



Example


Use media queries to create a responsive website:



Try it Yourself »



Example


Media queries can also be used to change layout of a page depending on the
orientation of the browser. You can have a set of CSS properties that will only
apply when the browser window is wider than its height, a so called "Landscape"
orientation.



Use a lightblue background color if the orientation is in landscape mode:



@media only screen and (orientation:
landscape)
    body

       
background-color: lightblue;
   

Try it Yourself »



Example


Use mediaqueries to set the text color to green when the document is
displayed on the screen, and to black when it is printed:



@media screen
    body
       
color: green;
   


@media print
   
body
        color: black;
   



Try it Yourself »



Example


Comma separated list: add an additional media query to an already existing one, using a comma (this will behave like an OR operator):



/* When the width is between 600px and 900px OR above 1100px - change the
appearance of <div> */
@media screen and (max-width: 900px) and
(min-width: 600px), (min-width: 1100px)
  div.example
   
font-size: 50px;
    padding: 50px;
   
border: 8px solid black;
    background: yellow;
 



Try it Yourself »



Related Pages


CSS Tutorial: CSS Media Queries


CSS Tutorial: CSS Media Queries Examples


RWD Tutorial: Responsive Web Design with Media Queries


JavaScript Tutorial: The window.matchMedia() method




Previous
Complete CSS Reference
Next

Popular posts from this blog

WWE Night of Champions

Poznań

Kaliningrad