# 132: Rychlý užitečný případ pro Sass Math a Mixins Triky CSS

Anonim

Měl jsem přijít s malou konstrukční situací, kdy jsem vyráběl tekutou mřížku krabic s plováky. Chtěl jsem velmi snadno určit, kolik polí v řadě bylo, a nechat je zarovnat k oběma hranám kontejneru. Není to příliš obtížné, jak víme z nepřemýšlení mřížek a správného dimenzování krabic, můžete získat čtyři plovoucí krabice v šířce řádku 25% - snadné.

Ale co když chcete použít okraj mezi poli? Stále je to naprosto možné, vyžaduje to jen trochu přemýšlení. Řekněme, že chcete čtyři v řadě, budete muset zjistit, kolik místa vám zbylo po využití všech okrajů. Protože nechcete okraj na posledním v řádku, jsou to 3 okraje:

100% - (3 * MARGIN)

3 je opravdu „řádky, které chcete minus jeden“, takže:

100% - ((ROWS - 1) * MARGIN)

Poté vydělíte zbývající prostor počtem polí, která chcete mít, takže:

(100% - ((ROWS - 1) * MARGIN)) / ROWS

K tomu můžete použít Sass:

$numPerRow: 4; $margin: 2%; width: ((100% - (($numPerRow - 1) * $margin)) / $numPerRow);

Ještě lépe z toho uděláme @mixin, takže jej můžeme jednoduše zavolat, kdykoli to potřebujeme:

@mixin rowMachine($numPerRow, $margin) ( width: ((100% - (($numPerRow - 1) * $margin)) / $numPerRow); &:nth-child(n) ( margin-bottom: $margin; margin-right: $margin; ) &:nth-child(#($numPerRow)n) ( margin-right: 0; margin-bottom: 0; ) )

Podívejte se na video a dozvíte se o tom složitém kousku s: n-dítětem

Ve videu, bit na začátku s Jade smyčkou se můžete dozvědět více o zde.

A tady je pero:

Podívejte se na jednoduchou techniku ​​pera, jak používat Sass for Rows od Chris Coyier (@chriscoyier) na CodePen.