We know how to use media queries to apply CSS rules based on screen size and resolution, but how do we determine what queries to set?
The points at which media queries are set are called breakpoints. Breakpoints are the screen sizes at which your web page does not appear properly. For example, if we want to target tablets that are in landscape orientation, we can create the following breakpoint:
@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) { /* CSS ruleset */ }
The example above creates a screen size range the size of a tablet in landscape mode and also identifies the orientation.
However, setting breakpoints for every device imaginable would be incredibly difficult because there are many devices of differing shapes and sizes. In addition, new devices are released with new screen sizes every year.
Rather than set breakpoints based on specific devices, the best practice is to resize your browser to view where the website naturally breaks based on its content. The dimensions at which the layout breaks or looks odd become your media query breakpoints. Within those breakpoints, we can adjust the CSS to make the page resize and reorganize.
By observing the dimensions at which a website naturally breaks, you can set media query breakpoints that create the best possible user experience on a project by project basis, rather than forcing every project to fit a certain screen size. Different projects have different needs, and creating a responsive design should be no different.
Check out this list of breakpoints by device widths. Use it as a reference of screen widths to test your website to make certain it looks great across a variety of devices.
Instructions
The last breakpoint we’d like to account for is a tablet in landscape orientation. The Amazing Space website should change its format to show the gallery pictures on the right, while having the logo and the description on the left.
Write a media query that meets the following requirements:
- The screen has a
min-width
of768px
- The screen has a
max-width
of1024px
- The screen has an
orientation
oflandscape
Inside of the media query, include this CSS:
.page-title, .page-description { float: left; width: 20em; } .page-description { text-align: left; }
This CSS will make the page title and description float to the left of the gallery images. Resize the browser to observe these changes at various screen widths.