HTML Layouts

Preview Source code Open standalone

Set width: full 320 768 1024 1920 custom

Source code

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Three Column Responsive HTML Layout</title>
    <meta name="description" content="A three column responsive layout with a navigation sidebar, main content area, and a right column.">
    <style>
        body {
            margin: 0;
            font-family: sans-serif;
            background: #ddd;
            min-width: 320px;
        }
        .wrap {
            max-width: 1280px;
            margin-left: auto;
            margin-right: auto;
            display: flex;
        }
        .sidebar {
            width: 200px;
            flex-shrink: 0;
            background-color: #555;
            color: white;
            padding: 1rem 1.5rem;
            box-sizing: border-box;
            position: relative;
            transition: left 0.3s;
        }
        .sidebar a {
            color: white;
            text-decoration: none;
            display: block;
            padding: 10px 0;
        }
        .main-content {
            flex-grow: 1;
            padding: 1rem 1.5rem;
            background: #fff;
            transition: margin-left 0.3s;
        }
        .main-content h1 {
            margin-top: 0;
        }
        .right-column {
            width: 280px;
            flex-shrink: 0;
            background-color: #777;
            color: white;
            padding: 1rem 1.5rem;
            box-sizing: border-box;
            position: relative;
            transition: right 0.3s;
        }
        .right-column a {
            color: white;
            text-decoration: none;
            display: block;
            padding: 10px 0;
        }
        .hamburger {
            display: none;
            font-size: 30px;
            cursor: pointer;
            padding: 15px;
        }
        #menu-toggle {
            display: none;
        }
        #menu-toggle:checked ~ .sidebar {
            left: 0;
        }
        @media (max-width: 1023px) {
            .wrap {
                flex-direction: column;
            }
            .sidebar {
                position: fixed;
                height: 100vh;
                left: -200px;
                z-index: 50;
            }
            .right-column {
                position: relative;
                height: auto;
                width: 100%;
                background-color: #fff;
                color: inherit;
                padding-top: 0;
            }
            .right-column a {
                color: inherit;
            }
            .hamburger {
                display: block;
                position: absolute;
                z-index: 10;
                right: .5rem;
                top: .5rem;
                padding: 5px 8px;
            }
            #menu-toggle:checked ~ .sidebar {
                left: 0;
            }
            #menu-toggle:checked ~ .main-content {
                margin-left: 0;
            }
        }
    </style>
</head>
<body>
    <div class="wrap">
        <input type="checkbox" id="menu-toggle">
        <label for="menu-toggle" class="hamburger">&#9776;</label>
        <div class="sidebar">
            <a href="#">Home</a>
            <a href="#">About</a>
            <a href="#">Services</a>
            <a href="#">Contact</a>
        </div>
        <div class="main-content">
            <h1>Main Content Area</h1>
            <p>This is where the page content goes.</p>
            <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Neque odio consequuntur dolores maiores illo incidunt rerum, quis, repellendus culpa repellat nemo? Nemo quam officia ex obcaecati quis tenetur commodi beatae!</p>
            <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. A enim ipsa similique, tempora rem nisi perferendis eaque earum modi dolores sed fugiat magnam neque quo quidem sequi quisquam iure perspiciatis?</p>
            <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Laborum similique quia cumque suscipit corrupti aut commodi consequatur voluptate molestiae fuga in quas sit alias quibusdam, sapiente ipsam veritatis maxime magni?</p>
            <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Neque odio consequuntur dolores maiores illo incidunt rerum, quis, repellendus culpa repellat nemo? Nemo quam officia ex obcaecati quis tenetur commodi beatae!</p>
            <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. A enim ipsa similique, tempora rem nisi perferendis eaque earum modi dolores sed fugiat magnam neque quo quidem sequi quisquam iure perspiciatis?</p>
            <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Laborum similique quia cumque suscipit corrupti aut commodi consequatur voluptate molestiae fuga in quas sit alias quibusdam, sapiente ipsam veritatis maxime magni?</p>
        </div>
        <div class="right-column">
            <p>This is the right column content.</p>
            <a href="#">Link 1</a>
            <a href="#">Link 2</a>
            <a href="#">Link 3</a>
            <p>On desktop view, this content should be on the right side of the main content area</p>
            <p>On mobile view, this content should be beneath the main content area and should have a white background color.</p>
        </div>
    </div>
</body>
</html>