Skip to main content

require-explicit-tracks-with-areas

Require explicit track sizing alongside CSS Grid named area templates.

Named area templates are easiest to maintain when their columns, and optionally their rows, are sized in the same block. By default this rule requires grid-template-columns and leaves rows optional because auto-sized rows are common.

Incorrectโ€‹

.layout {
grid-template-areas: "nav main";
}

With { rows: true }:

.layout {
grid-template-areas: "main";
grid-template-columns: minmax(0, 1fr);
}

Correctโ€‹

.layout {
grid-template-areas: "nav main";
grid-template-columns: auto minmax(0, 1fr);
}

With { rows: true }:

.layout {
grid-template-areas: "main";
grid-template-columns: minmax(0, 1fr);
grid-template-rows: auto;
}

Optionsโ€‹

export default {
plugins: ["stylelint-plugin-grid"],
rules: {
"grid/require-explicit-tracks-with-areas": [
true,
{
columns: true,
rows: false
}
]
}
};

Stylelint Configโ€‹

export default {
plugins: ["stylelint-plugin-grid"],
rules: {
"grid/require-explicit-tracks-with-areas": true
}
};