// Interactive Flexbox and Grid layout generator with real-time code output. Creates production-ready layouts based on your requirements with proper fallbacks and responsive considerations. Use when building layouts, grids, or complex positioning systems.
| name | layout-builder |
| description | Interactive Flexbox and Grid layout generator with real-time code output. Creates production-ready layouts based on your requirements with proper fallbacks and responsive considerations. Use when building layouts, grids, or complex positioning systems. |
| allowed-tools | Read, Write, Edit |
This skill helps you create modern CSS layouts using Flexbox and CSS Grid through an interactive process. I'll guide you through layout requirements and generate production-ready, responsive code.
I'll ask you questions about your layout needs and generate the CSS code. Here's what I need to know:
You: "I need a responsive card grid that shows 1 column on mobile, 2 on tablet, and 3 on desktop"
I will provide:
/* Responsive card grid */
.card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 1.5rem;
padding: 1rem;
}
/* Card styling */
.card {
display: flex;
flex-direction: column;
background: white;
border-radius: 0.5rem;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
overflow: hidden;
}
/* Responsive adjustments */
@media (max-width: 640px) {
.card-grid {
grid-template-columns: 1fr;
gap: 1rem;
}
}
You: "Create a responsive navbar with logo on left, nav items in center, and button on right"
I will provide:
.navbar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 1rem 2rem;
background: white;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.navbar__logo {
font-size: 1.5rem;
font-weight: bold;
}
.navbar__nav {
display: flex;
gap: 2rem;
list-style: none;
margin: 0;
padding: 0;
}
.navbar__nav a {
text-decoration: none;
color: inherit;
transition: color 0.2s;
}
.navbar__nav a:hover {
color: #0066cc;
}
.navbar__button {
padding: 0.5rem 1.5rem;
background: #0066cc;
color: white;
border: none;
border-radius: 0.25rem;
cursor: pointer;
}
/* Mobile responsive */
@media (max-width: 768px) {
.navbar {
flex-direction: column;
gap: 1rem;
}
.navbar__nav {
flex-direction: column;
text-align: center;
gap: 0.5rem;
}
}
.center {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
}
.layout {
display: flex;
min-height: 100vh;
}
.sidebar {
flex: 0 0 250px;
}
.main {
flex: 1;
}
.card-row {
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
.card {
flex: 1 1 300px;
}
.layout {
display: grid;
grid-template-areas:
"header header header"
"nav main aside"
"footer footer footer";
grid-template-columns: 200px 1fr 200px;
grid-template-rows: auto 1fr auto;
min-height: 100vh;
gap: 1rem;
}
.header { grid-area: header; }
.nav { grid-area: nav; }
.main { grid-area: main; }
.aside { grid-area: aside; }
.footer { grid-area: footer; }
.dashboard {
display: grid;
grid-template-columns: repeat(12, 1fr);
gap: 1rem;
}
.widget-large {
grid-column: span 8;
}
.widget-small {
grid-column: span 4;
}
✓ Mobile-first approach - Start with mobile layout, enhance for larger screens ✓ Semantic HTML - Use appropriate HTML elements with layout CSS ✓ Flexible units - Use relative units (rem, %, fr) over fixed pixels ✓ Gap instead of margins - Use gap property for consistent spacing ✓ Logical properties - Support RTL languages with logical properties ✓ Container queries - Use when available for truly responsive components ✓ Fallbacks - Provide fallbacks for older browsers when needed ✓ Accessibility - Maintain logical DOM order, ensure keyboard navigation works
Tell me what layout you need, and I'll guide you through creating it with modern, responsive CSS. I'll ask clarifying questions if needed and provide complete, production-ready code.
Example requests: