I’ve found the best method is to write your default CSS for the older browsers, as older browsers (including IE 5.5, 6, 7 and 8) can’t read @media
. When I use @media
, I use it like this:
<style type="text/css"> /* default styles here for older browsers. I tend to go for a 600px - 960px width max but using percentages */ @media only screen and (min-width: 960px) { /* styles for browsers larger than 960px; */ } @media only screen and (min-width: 1440px) { /* styles for browsers larger than 1440px; */ } @media only screen and (min-width: 2000px) { /* for sumo sized (mac) screens */ } @media only screen and (max-device-width: 480px) { /* styles for mobile browsers smaller than 480px; (iPhone) */ } @media only screen and (device-width: 768px) { /* default iPad screens */ } /* different techniques for iPad screening */ @media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait) { /* For portrait layouts only */ } @media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:landscape) { /* For landscape layouts only */ } </style>
But you can do whatever you like with your @media
. This is just an example of what I’ve found best for me when building styles for all browsers.
Also! If you’re looking for printability you can use @media print{}
.