Create a comprehensive admin panel with data tables, charts, and complex layouts.
This project will guide you through building a modern admin panel using CSS Grid and Flexbox. You'll learn to structure data tables, charts, and responsive layouts.
Advanced: 3-4 hours
Difficulty Level: Advanced
<div class="admin-panel">
<aside class="admin-sidebar">
<h2>Admin</h2>
<ul>
<li><a href="#">Dashboard</a></li>
<li><a href="#">Users</a></li>
<li><a href="#">Settings</a></li>
</ul>
</aside>
<main class="admin-main">
<div class="admin-table">
<table>
<thead>
<tr><th>Name</th><th>Role</th><th>Status</th></tr>
</thead>
<tbody>
<tr><td>Alice</td><td>Admin</td><td>Active</td></tr>
</tbody>
</table>
</div>
<div class="admin-charts">
<div class="chart">Chart 1</div>
<div class="chart">Chart 2</div>
</div>
</main>
</div>
.admin-panel {
display: grid;
grid-template-columns: 220px 1fr;
min-height: 100vh;
}
.admin-sidebar {
background: linear-gradient(135deg, #667eea, #764ba2);
color: white;
padding: 2rem 1rem;
min-height: 100vh;
}
.admin-sidebar h2 {
margin-bottom: 2rem;
}
.admin-sidebar ul {
list-style: none;
padding: 0;
}
.admin-sidebar a {
color: white;
text-decoration: none;
display: block;
padding: 0.75rem 1rem;
border-radius: 6px;
margin-bottom: 0.5rem;
transition: background 0.2s;
}
.admin-sidebar a:hover {
background: #f093fb;
color: #333;
}
.admin-main {
padding: 2rem;
background: #f8f9fa;
}
.admin-table table {
width: 100%;
border-collapse: collapse;
margin-bottom: 2rem;
}
.admin-table th, .admin-table td {
border: 1px solid #ddd;
padding: 0.75rem 1rem;
text-align: left;
}
.admin-table th {
background: #667eea;
color: white;
}
.admin-charts {
display: flex;
gap: 2rem;
flex-wrap: wrap;
}
.chart {
background: white;
border-radius: 12px;
box-shadow: 0 4px 20px rgba(0,0,0,0.08);
padding: 2rem;
min-width: 220px;
flex: 1 1 220px;
text-align: center;
}
@media (max-width: 900px) {
.admin-panel {
grid-template-columns: 1fr;
}
.admin-sidebar {
min-height: auto;
padding: 1rem;
text-align: center;
}
.admin-charts {
flex-direction: column;
}
}
<div class="modal" style="display:none;">
<div class="modal-content">
<h3>Edit User</h3>
<form>...</form>
<button class="close-modal">Close</button>
</div>
</div>