CSS
CSS Grid Generator
Generate CSS Grid layouts with customizable rows and columns. Perfect for quick layout prototyping.
Implementation
interface GridConfig {
columns: number;
rows: number;
gap: string;
columnSizes?: string[];
rowSizes?: string[];
}
function generateGrid(config: GridConfig): string {
const { columns, rows, gap, columnSizes, rowSizes } = config;
const colTemplate = columnSizes?.length
? columnSizes.join(' ')
: `repeat(${columns}, 1fr)`;
const rowTemplate = rowSizes?.length
? rowSizes.join(' ')
: `repeat(${rows}, auto)`;
return `
.grid-container {
display: grid;
grid-template-columns: ${colTemplate};
grid-template-rows: ${rowTemplate};
gap: ${gap};
}
`.trim();
}
// Usage
const css = generateGrid({
columns: 3,
rows: 2,
gap: '1rem'
});Usage
Call generateGrid() with your configuration object to get a CSS string.
Examples
Input:
Output:
{ columns: 3, rows: 2, gap: "1rem" }Output:
grid-template-columns: repeat(3, 1fr)Input:
Output:
{ columns: 2, columnSizes: ["200px", "1fr"] }Output:
grid-template-columns: 200px 1fr