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>Two Column Responsive HTML Layout</title>
    <meta name="description" content="A two column responsive layout with a navigation sidebar and main content area.">
    <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: 240px;
            flex-shrink: 0;
            background-color: #555;
            color: white;
            height: 100vh;
            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;
        }
        .hamburger {
            display: none;
            font-size: 30px;
            cursor: pointer;
            padding: 15px;
        }
        #menu-toggle {
            display: none;
        }
        #menu-toggle:checked ~ .sidebar {
            left: 0;
        }
        @media (max-width: 1023px) {
            .sidebar {
                position: absolute;
                left: -240px;
            }
            .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>
        </div>
    </div>
</body>
</html>