Below is a list displayed as a grid. Thanks to pseudo classes, the general sibling combinator and a Sass for loop, you can change the number of columns (the $cols variable) and items (<li>s) and it will 'self correct' to eliminate gaps. No classes; no worries. For more info on the underlying CSS involved, read Tetris and The Power Of CSS.