// Tutorial //

Nesting Selectors in Sass

Published on September 19, 2016
    Default avatar
    By Alligator.io
    Developer and author at DigitalOcean.
    Nesting Selectors in Sass

    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.

    Sass allows you to easily nest your selectors and organize your rules hierarchically:

    .main {
      background-color: antiquewhite;
      margin: 0 auto;
    
      img {
        max-width: 100%;
        transform: rotate(3deg);
      }
      p:first-child {
        font-size: 1.2em;
    span {
      background-color: burlywood;
      padding: 0.2em 0.4em;
    }
    

    The above, once compiled to CSS, would yield the following:

    .main {
      background-color: antiquewhite;
      margin: 0 auto;
    }
    .main img {
      max-width: 100%;
      transform: rotate(3deg);
    }
    .main p:first-child {
      font-size: 1.2em;
    }
    .main p:first-child span {
      background-color: burlywood;
      padding: 0.2em 0.4em;
    }
    

    Properties in the same namespace

    You can also nest properties that are in the same namespace. For example, background properties can be nested like this. Notice the use of a colon after the background keyword in the example:

    .main {
      margin: 0 auto;
    
    
    

    This would yield the following CSS:

    .main {
      margin: 0 auto;
      background-color: antiquewhite;
      background-image: url(images/gator.svg);
      background-repeat: repeat-x;
      background-size: 36px 48px;
    }
    

    👉 Over-nesting can create messy CSS, so keep it at a maximum of just a few 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!