DEV Community

Egbo Michael
Egbo Michael

Posted on

Building Your First Responsive Website with HTML and CSS

Creating a responsive website is an essential skill for any front-end developer. A responsive website adjusts its layout and content based on the device and screen size, ensuring a great user experience across all devices. In this article, we'll walk you through the process of building a basic responsive website using HTML and CSS.

Prerequisites

Before you begin, you should have a basic understanding of HTML and CSS. Familiarity with CSS Flexbox and media queries will also be beneficial.

Step 1: Setting Up Your Project

Start by creating a new project folder and adding the following files:

  • index.html: The main HTML file.
  • styles.css: The CSS file for styling the website.

Step 2: Structuring Your HTML

Open index.html and add the basic HTML structure that you want it can be anything:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Website</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <header>
        <h1>My Responsive Website</h1>
        <nav>
            <ul>
                <li><a href="#home">Home</a></li>
                <li><a href="#about">About</a></li>
                <li><a href="#services">Services</a></li>
                <li><a href="#contact">Contact</a></li>
            </ul>
        </nav>
    </header>
    <main>
        <section id="home">
            <h2>Welcome to My Website</h2>
            <p>This is a simple responsive website built with HTML and CSS.</p>
        </section>
        <section id="about">
            <h2>About Us</h2>
            <p>We provide excellent web development services.</p>
        </section>
        <section id="services">
            <h2>Our Services</h2>
            <p>We offer a wide range of web development services.</p>
        </section>
        <section id="contact">
            <h2>Contact Us</h2>
            <p>Feel free to reach out to us for any inquiries.</p>
        </section>
    </main>
    <footer>
        <p>&copy; 2024 My Responsive Website</p>
    </footer>
</body>
</html>
Enter fullscreen mode Exit fullscreen mode

Step 3: Styling Your Website

Next, open file styles.css and start by adding some basic styles:

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
}

header {
    background: #333;
    color: #fff;
    padding: 1rem 0;
}

header h1 {
    text-align: center;
}

nav ul {
    display: flex;
    justify-content: center;
    list-style: none;
}

nav ul li {
    margin: 0 1rem;
}

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

main {
    padding: 2rem;
}

section {
    margin-bottom: 2rem;
}

footer {
    background: #333;
    color: #fff;
    text-align: center;
    padding: 1rem 0;
    position: fixed;
    width: 100%;
    bottom: 0;
}
Enter fullscreen mode Exit fullscreen mode

Step 4: Making It Responsive

To make the website responsive, we'll use media queries. These allow us to apply different styles based on the screen size. Add the following media Queries to styles.css:

@media (max-width: 768px) {
    nav ul {
        flex-direction: column;
        align-items: center;
    }

    nav ul li {
        margin: 0.5rem 0;
    }

    main {
        padding: 1rem;
    }
}

@media (max-width: 480px) {
    header h1 {
        font-size: 1.5rem;
    }

    nav ul li {
        margin: 0.25rem 0;
    }

    main {
        padding: 0.5rem;
    }
}
Enter fullscreen mode Exit fullscreen mode

Step 5: Testing Your Website

Open index.html in a web browser and resize the browser window to see how the layout adjusts for different screen sizes. You should see the navigation menu stack vertically and the padding around the content decrease as the screen width decreases.

Finally

You've now built a simple responsive website using HTML and CSS! This example covers the basics of structuring a web page and using media queries to create a responsive design. As you gain more experience, you can explore advanced techniques such as CSS Grid, Flexbox, and responsive images to create more complex and dynamic layouts.

Stay tuned!!!

Top comments (1)

Collapse
 
egbo2255 profile image
Egbo Michael

You can ask questions here