--- title: Flow Control Rules --- Sass provides a number of at-rules that make it possible to control whether styles get emitted, or to emit them multiple times with small variations. They can also be used in [mixins][] and [functions][] to write small algorithms to make writing your Sass easier. [mixins]: mixin [functions]: function Sass supports four flow control rules: * [`@if`](control/if) controls whether or not a block is evaluated. * [`@each`](control/each) evaluates a block for each element in a [list][] or each pair in a [map][]. * [`@for`](control/for) evaluates a block a certain number of times. * [`@while`](control/while) evaluates a block until a certain condition is met. [list]: ../values/lists [map]: ../values/maps