Milind Daraniya

Crafting Effective Media Queries for Responsive Web Design

Published May 28th, 2023 10 min read

Hello web designers and developers! Today, let's explore the best practices for implementing media queries to achieve a responsive web design that adapts gracefully to various screen sizes. Responsive design is essential for providing an optimal user experience on different devices, from smartphones to large desktops. Let's dive into the tutorial with a full example:

HTML Structure:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Web Design with Media Queries</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <header>
        <h1>Responsive Web Design</h1>
        <nav>
            <ul>
                <li><a href="#">Home</a></li>
                <li><a href="#">About</a></li>
                <li><a href="#">Services</a></li>
                <li><a href="#">Contact</a></li>
            </ul>
        </nav>
    </header>

    <main>
        <section>
            <h2>Welcome to Our Website!</h2>
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
        </section>

        <!-- Additional sections and content here -->

    </main>

    <footer>
        <p>&copy; 2023 Your Company. All rights reserved.</p>
    </footer>
</body>
</html>

CSS Styling:

/* styles.css */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
}

header {
    background-color: #3498db;
    color: #fff;
    text-align: center;
    padding: 20px;
}

nav ul {
    list-style: none;
    padding: 0;
}

nav li {
    display: inline-block;
    margin-right: 20px;
}

nav li a {
    color: #fff;
    text-decoration: none;
}

main {
    padding: 40px;
}

section {
    margin-bottom: 40px;
}

footer {
    background-color: #333;
    color: #fff;
    text-align: center;
    padding: 10px;
}

Now, let's implement the media queries to make the design responsive:

/* styles.css */
/* Add this at the end of the CSS file */

/* Small screens (e.g., smartphones) */
@media screen and (max-width: 480px) {
    header {
        padding: 10px;
    }

    nav li {
        display: block;
        margin-bottom: 10px;
    }
}

/* Medium screens (e.g., tablets) */
@media screen and (min-width: 481px) and (max-width: 768px) {
    header {
        padding: 15px;
    }
}

/* Large screens (e.g., desktops) */
@media screen and (min-width: 769px) {
    header {
        padding: 20px;
    }
}

In this example, we've added three media queries for different screen sizes:

  1. For small screens (e.g., smartphones), the header padding and navigation list styles are adjusted to ensure a better mobile experience.
  2. For medium screens (e.g., tablets), we slightly increase the header padding for improved readability.
  3. For large screens (e.g., desktops), the header padding is set to its original value.

By implementing these media queries, the design will automatically adapt to different screen sizes, providing a consistent and user-friendly experience on any device.

Remember to further customize the media queries according to your specific design requirements.

With these best media query practices, your website will look stunning and function seamlessly across various devices!

Happy responsive designing!