// Tutorial //

    Sass @each Loops

    Published on May 3, 2016
      Default avatar
      By Mike Street
      Developer and author at DigitalOcean.
      Sass @each Loops

      While we believe that this content benefits our community, we have not yet thoroughly reviewed it. If you have any suggestions for improvements, please let us know by clicking the “report an issue“ button at the bottom of the tutorial.

      If you’ve got a Sass Map or Lists you can loop through them, rather than addressing each key separately. At the beginning of the @each loop, you assign a variable to be used inside the loop:

      $shapes: triangle, square, circle;
      
      @each $shape in $shapes {
        .icon-#{$shape} {
          background-image: url('/images/#{$shape}.jpg');
        }
      }
      
      $map: (
        h1: 20px,
        h2: 16px,
        h3: 14px
      );
      
      @each $element, $size in $map {
        #{$element} {
          font-size: $size;
        }
      }
      

      If concatenating the variable with a string, or using it as a class/element, the variable will need to be preceded with a #{ and prepended with a } to tell the compiler you actually mean the variable.

      You are also able to nest loops inside of loops, if your map is multi levels deep.

      If you’ve enjoyed this tutorial and our broader community, consider checking out our DigitalOcean products which can also help you achieve your development goals.

      Learn more here


      About the authors
      Default avatar
      Developer and author at DigitalOcean.

      Still looking for an answer?

      Was this helpful?
      Leave a comment

      This textbox defaults to using Markdown to format your answer.

      You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!