DEV Community

Cover image for Responsive Design with Media Queries
Ridoy Hasan
Ridoy Hasan

Posted on

Responsive Design with Media Queries

Lecture 16: Responsive Design with Media Queries

In today's lecture, we’ll explore responsive design and how to make your websites look great on any device using media queries. In the age of mobile browsing, creating layouts that adapt to various screen sizes is essential for user experience.

1. What is Responsive Design?

Responsive design ensures that a website adjusts its layout, images, and content to fit different screen sizes and orientations. This approach improves usability on devices ranging from mobile phones to large desktop screens.

2. What are Media Queries?

Media queries are a CSS feature that allows you to apply styles conditionally, based on factors like screen size, orientation, and resolution. They help you craft designs that "respond" to the user’s environment.

3. Basic Media Query Syntax

The syntax for a media query is simple. You specify conditions (such as the width of the device) and write the styles that should apply when those conditions are met.

Example:

@media (max-width: 600px) {
    body {
        background-color: lightblue;
    }
}
Enter fullscreen mode Exit fullscreen mode

In this example, if the screen width is 600px or smaller, the background color of the page will change to light blue.

4. Common Breakpoints for Responsive Design

Breakpoints are the specific screen widths at which you want your layout to change. While every project is unique, here are some standard breakpoints used in responsive design:

  • Extra small devices (phones): max-width: 600px
  • Small devices (tablets): max-width: 768px
  • Medium devices (small laptops): max-width: 992px
  • Large devices (desktops): max-width: 1200px

Example:

@media (max-width: 768px) {
    .container {
        padding: 20px;
    }
}
@media (max-width: 992px) {
    .container {
        padding: 30px;
    }
}
Enter fullscreen mode Exit fullscreen mode

In this example, the padding of the .container class will change based on the screen size. It will be 20px on tablets and 30px on smaller laptops.

5. Using Media Queries to Adjust Layout

You can use media queries to adjust the layout of elements, making them more accessible and visually pleasing on smaller devices.

Example:

<div class="flex-container">
    <div class="item">Item 1</div>
    <div class="item">Item 2</div>
    <div class="item">Item 3</div>
</div>
Enter fullscreen mode Exit fullscreen mode
.flex-container {
    display: flex;
    justify-content: space-between;
}
@media (max-width: 768px) {
    .flex-container {
        flex-direction: column;
    }
}
Enter fullscreen mode Exit fullscreen mode

In this example, the items in the .flex-container will be arranged horizontally on larger screens, but on screens 768px or smaller, they will stack vertically.

6. Media Queries for Images

When building responsive designs, images need to adapt as well. You can use media queries to make sure images resize according to the screen size.

Example:

img {
    width: 100%;
    height: auto;
}

@media (max-width: 768px) {
    img {
        width: 80%;
    }
}
Enter fullscreen mode Exit fullscreen mode

Here, the image will take up 100% of the container's width on larger screens, but on screens 768px or smaller, it will only take up 80%.

7. Orientation-Based Media Queries

You can also adjust your styles based on the orientation of the device (portrait or landscape). This can be useful for devices like tablets and smartphones that are often rotated.

Example:

@media (orientation: landscape) {
    .header {
        background-color: darkblue;
    }
}
Enter fullscreen mode Exit fullscreen mode

In this case, the header background color changes when the device is in landscape mode.

8. Responsive Typography

Responsive typography is crucial to ensure that your text remains readable on all devices. You can use media queries to adjust font sizes based on screen size.

Example:

body {
    font-size: 16px;
}

@media (max-width: 600px) {
    body {
        font-size: 14px;
    }
}
Enter fullscreen mode Exit fullscreen mode

This reduces the font size to 14px on screens smaller than 600px, making text more appropriate for mobile users.

9. Combining Multiple Media Queries

You can combine multiple media queries to create highly specific conditions for styling.

Example:

@media (min-width: 600px) and (max-width: 768px) {
    .container {
        padding: 15px;
        background-color: lightgreen;
    }
}
Enter fullscreen mode Exit fullscreen mode

This will apply the styles only if the screen size is between 600px and 768px.

10. Tools for Testing Responsive Design

  • Google Chrome DevTools: You can test your responsive design by toggling device modes.
  • Responsive Design Mode in Firefox: Another great tool to view your design on different screen sizes.
  • Online Tools: Websites like Am I Responsive? or Screenfly allow you to see how your website looks on different devices.

Conclusion

With media queries, creating responsive designs that look good on any device becomes straightforward. Whether you're adjusting layouts, resizing images, or tweaking typography, media queries give you the flexibility to build websites that adapt to the ever-changing digital landscape.


Follow me on LinkedIn

Ridoy Hasan

Top comments (0)