Bird
Raised Fist0
SASSmarkup~5 mins

Content blocks with @content in SASS - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the @content directive do in Sass?

The @content directive allows you to pass a block of styles into a mixin, letting you insert custom CSS where @content is placed.

Click to reveal answer
beginner
How do you define a mixin that uses @content in Sass?

You define a mixin with @mixin and inside it, use @content where you want the passed styles to appear.

@mixin example() {
  border: 1px solid black;
  @content;
}
Click to reveal answer
beginner
How do you include a mixin with a content block in Sass?

You use @include followed by curly braces {} containing the styles you want to pass as the content block.

@include example() {
  background: yellow;
}
Click to reveal answer
intermediate
Why use @content instead of just passing arguments to a mixin?

@content lets you pass a whole block of CSS rules, not just values. This gives more flexibility to add complex or multiple styles inside the mixin.

Click to reveal answer
intermediate
Can you use @content multiple times inside one mixin?

No, @content can only be used once inside a mixin. It marks the single place where the passed block of styles will be inserted.

Click to reveal answer
What keyword do you use inside a Sass mixin to insert a block of styles passed from @include?
A@content
B@block
C@insert
D@pass
How do you pass styles to a mixin that uses @content?
AUsing parentheses with arguments
BUsing curly braces after <code>@include</code>
CUsing a separate CSS file
DUsing <code>@extend</code>
Can @content be used more than once inside the same mixin?
AOnly if you use <code>@repeat</code>
BYes, multiple times
CNo, only once
DOnly inside nested mixins
What is a benefit of using @content in Sass mixins?
AIt allows passing multiple CSS rules as a block
BIt compiles CSS faster
CIt replaces variables
DIt automatically prefixes CSS
Which of these is the correct way to define a mixin with @content?
A@mixin example() { @block; }
B@mixin example() { content; }
C@mixin example() { @include content; }
D@mixin example() { @content; }
Explain how @content works in Sass mixins and why it is useful.
Think about how you can insert custom CSS inside a reusable style block.
You got /4 concepts.
    Describe the steps to create and use a Sass mixin that accepts a content block.
    Imagine you want to reuse a style but add different inner styles each time.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of @content in Sass?
      easy
      A. To pass custom styles into a mixin for flexible reuse
      B. To define variables inside a mixin
      C. To import external CSS files
      D. To create loops in Sass

      Solution

      1. Step 1: Understand what @content does

        @content allows you to insert custom CSS blocks inside a mixin, making it flexible.
      2. Step 2: Compare with other options

        Variables, imports, and loops are different Sass features unrelated to @content.
      3. Final Answer:

        To pass custom styles into a mixin for flexible reuse -> Option A
      4. Quick Check:

        @content = custom styles in mixin [OK]
      Hint: Remember: @content inserts custom styles inside mixins [OK]
      Common Mistakes:
      • Confusing @content with variables or imports
      • Thinking @content creates loops
      • Assuming @content is for defining selectors
      2. Which of the following is the correct syntax to use @content inside a mixin?
      easy
      A. @mixin example { @include content; }
      B. @mixin example { content(); }
      C. @mixin example { @content; }
      D. @mixin example { content; }

      Solution

      1. Step 1: Recall the syntax for content blocks

        Inside a mixin, @content; is used to insert the passed block.
      2. Step 2: Check each option

        Only @mixin example { @content; } uses @content; correctly with the semicolon.
      3. Final Answer:

        @mixin example { @content; } -> Option C
      4. Quick Check:

        Correct syntax uses @content; inside mixin [OK]
      Hint: Use @content; with a semicolon inside mixins [OK]
      Common Mistakes:
      • Omitting the @ symbol before content
      • Using parentheses like a function call
      • Forgetting the semicolon after @content
      3. What will be the output CSS of this Sass code?
      @mixin card {
      border: 1px solid black;
      padding: 1rem;
      @content;
      }

      .box {
      @include card {
      background-color: yellow;
      }
      }
      medium
      A. .box { border: 1px solid black; padding: 1rem; } .box { background-color: yellow; }
      B. .box { border: 1px solid black; padding: 1rem; background-color: yellow; }
      C. .box { background-color: yellow; }
      D. Syntax error, no output

      Solution

      1. Step 1: Understand mixin with @content

        The mixin card adds border and padding, then inserts the passed block with @content.
      2. Step 2: Check how .box includes the mixin

        The block inside @include card { ... } adds background-color: yellow; inside the mixin's content.
      3. Final Answer:

        .box { border: 1px solid black; padding: 1rem; background-color: yellow; } -> Option B
      4. Quick Check:

        Mixin + @content block = combined styles [OK]
      Hint: Mixin styles + @content block styles combine inside selector [OK]
      Common Mistakes:
      • Thinking @content styles appear outside the selector
      • Expecting separate CSS blocks for mixin and content
      • Assuming syntax error due to block usage
      4. Identify the error in this Sass code using @content:
      @mixin highlight {
      background: yellow;
      @content
      }

      .text {
      @include highlight {
      color: red;
      }
      }
      medium
      A. Missing semicolon after @content
      B. Mixin name should be @content
      C. Cannot use blocks with @include
      D. Background property is invalid

      Solution

      1. Step 1: Check syntax of @content inside mixin

        @content must end with a semicolon to be valid.
      2. Step 2: Verify other parts

        Mixin name and block usage are correct; background property is valid CSS.
      3. Final Answer:

        Missing semicolon after @content -> Option A
      4. Quick Check:

        @content requires semicolon [OK]
      Hint: Always put semicolon after @content inside mixins [OK]
      Common Mistakes:
      • Omitting semicolon after @content
      • Confusing mixin and content names
      • Thinking block usage with @include is invalid
      5. You want to create a reusable button style mixin that allows custom hover styles using @content. Which Sass code correctly achieves this?
      hard
      A. @mixin button { padding: 1rem; border: none; @content; &:hover { @content; } }
      B. @mixin button { padding: 1rem; border: none; @content; } .btn:hover { @content; }
      C. @mixin button { padding: 1rem; border: none; } .btn { @include button; &:hover { @content; } }
      D. @mixin button { padding: 1rem; border: none; @content; &:hover { @content; } } .btn { @include button { color: blue; &:hover { color: red; } } }

      Solution

      1. Step 1: Understand the goal

        Create a mixin that sets base button styles and allows custom styles including hover via @content.
      2. Step 2: Analyze each option

        @mixin button { padding: 1rem; border: none; @content; &:hover { @content; } } .btn { @include button { color: blue; &:hover { color: red; } } } defines the mixin with @content inside and inside &:hover, then includes it with a block that passes normal and hover styles. This correctly applies custom hover styles.
      3. Step 3: Why others fail

        @mixin button { padding: 1rem; border: none; @content; &:hover { @content; } } tries to use @content twice in the mixin without passing blocks properly. @mixin button { padding: 1rem; border: none; @content; } .btn:hover { @content; } applies hover styles outside the mixin, losing reusability. @mixin button { padding: 1rem; border: none; } .btn { @include button; &:hover { @content; } } misuses @content outside mixin context.
      4. Final Answer:

        @mixin button { padding: 1rem; border: none; @content; &:hover { @content; } } .btn { @include button { color: blue; &:hover { color: red; } } } -> Option D
      5. Quick Check:

        Mixin with @content block for hover = @mixin button { padding: 1rem; border: none; @content; &:hover { @content; } } .btn { @include button { color: blue; &:hover { color: red; } } } [OK]
      Hint: Pass hover styles inside @include block with nested &:hover [OK]
      Common Mistakes:
      • Using @content outside mixin
      • Trying to call @content multiple times without blocks
      • Defining hover styles outside mixin losing flexibility
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard