Bird
Raised Fist0
SASSmarkup~20 mins

7-1 folder pattern in depth in SASS - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
šŸŽ–ļø
7-1 Sass Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:30remaining
Understanding the purpose of the 'abstracts' folder in 7-1 pattern
In the 7-1 folder pattern for Sass, what is the main purpose of the abstracts folder?
ATo store Sass files that define variables, functions, mixins, and placeholders used throughout the project.
BTo hold all the CSS reset and browser normalization files.
CTo contain the main layout styles like grids and positioning.
DTo keep all the component-specific styles such as buttons and cards.
Attempts:
2 left
šŸ’” Hint
Think about where you keep reusable pieces like colors or reusable code snippets.
šŸ“ Syntax
intermediate
1:30remaining
Correct import statement for partials in 7-1 pattern
Given the 7-1 folder pattern, which import statement correctly imports the _buttons.scss partial from the components folder inside main.scss?
SASS
/* main.scss */
// Choose the correct import statement below:
A@import 'components/buttons';
B@import 'components/buttons.scss';
C@import 'buttons';
D@import 'components/_buttons.scss';
Attempts:
2 left
šŸ’” Hint
Remember how Sass handles partials and file extensions in import statements.
ā“ layout
advanced
2:00remaining
How the 7-1 pattern improves CSS layout management
Which statement best explains how the 7-1 folder pattern helps manage layout styles in a large Sass project?
AIt places layout styles directly inside the main.scss file to improve performance.
BIt combines all layout and component styles into one folder to reduce the number of files.
CIt stores layout styles inside the abstracts folder to reuse variables and mixins.
DIt separates layout styles into their own folder, making it easier to find and update grid and positioning rules without mixing with components or utilities.
Attempts:
2 left
šŸ’” Hint
Think about how separating concerns helps when your project grows bigger.
ā“ accessibility
advanced
2:00remaining
Accessibility considerations in the 7-1 folder pattern
How can the 7-1 folder pattern help improve accessibility in a Sass project?
ABy placing all accessibility styles inside the abstracts folder to keep them hidden from the main styles.
BBy organizing focus styles and screen reader helpers in the utilities folder, making them reusable and consistent across components.
CBy avoiding any accessibility styles in Sass and handling them only in HTML.
DBy mixing accessibility styles directly inside component files to keep them close to markup.
Attempts:
2 left
šŸ’” Hint
Think about where you keep small reusable helpers that affect many parts of the site.
ā“ selector
expert
2:30remaining
Specificity and selector management in 7-1 pattern components
In the 7-1 folder pattern, if you want to avoid specificity conflicts between component styles and layout styles, which approach is best?
AWrite all styles with !important to override conflicts.
BUse very specific IDs in layout styles and generic classes in components.
CUse BEM naming conventions in component partials and keep layout selectors simple and generic.
DCombine component and layout styles in the same file to control order.
Attempts:
2 left
šŸ’” Hint
Think about how naming conventions help keep styles predictable and avoid clashes.

Practice

(1/5)
1. What is the main purpose of the 7-1 folder pattern in Sass?
easy
A. To reduce the size of CSS files by compressing them
B. To organize Sass files into 7 folders plus 1 main file for better structure
C. To automatically generate CSS without writing any Sass code
D. To create 7 different CSS themes from one Sass file

Solution

  1. Step 1: Understand the folder pattern concept

    The 7-1 pattern divides Sass files into 7 specific folders and 1 main file to keep code organized.
  2. Step 2: Identify the main goal of this structure

    This organization helps developers find and maintain styles easily, improving workflow.
  3. Final Answer:

    To organize Sass files into 7 folders plus 1 main file for better structure -> Option B
  4. Quick Check:

    7-1 pattern = organized folders + main file [OK]
Hint: Remember 7 folders + 1 main file = organized Sass [OK]
Common Mistakes:
  • Thinking it compresses CSS automatically
  • Believing it creates themes without extra code
  • Confusing it with CSS frameworks
2. Which of the following is the correct way to import a partial file named _buttons.scss into main.scss using the 7-1 pattern?
easy
A. @import 'buttons';
B. @import '_buttons.scss';
C. @import 'buttons.scss';
D. @import 'buttons/_buttons';

Solution

  1. Step 1: Recall Sass partial import syntax

    Partial files start with an underscore and are imported without the underscore or file extension.
  2. Step 2: Apply correct import syntax

    So, _buttons.scss is imported as @import 'buttons'; in main.scss.
  3. Final Answer:

    @import 'buttons'; -> Option A
  4. Quick Check:

    Import partials without underscore or extension [OK]
Hint: Drop underscore and .scss when importing partials [OK]
Common Mistakes:
  • Including underscore in import statement
  • Adding .scss extension in import
  • Using folder path incorrectly
3. Given this folder structure in the 7-1 pattern:
sass/
ā”œā”€ā”€ abstracts/_variables.scss
ā”œā”€ā”€ base/_reset.scss
ā”œā”€ā”€ components/_buttons.scss
└── main.scss

What will happen if main.scss contains:
@import 'abstracts/variables';
@import 'base/reset';
@import 'components/buttons';

and you compile main.scss?
medium
A. All styles from variables, reset, and buttons partials will be combined into one CSS file
B. Only the styles from main.scss will be compiled, ignoring imports
C. A syntax error will occur because folder names cannot be used in imports
D. The compiler will create separate CSS files for each imported partial

Solution

  1. Step 1: Understand how imports work in Sass

    When you import partials in main.scss, their styles are combined into one CSS output.
  2. Step 2: Analyze the import paths

    Using folder names like abstracts/variables is valid and imports the partial correctly.
  3. Final Answer:

    All styles from variables, reset, and buttons partials will be combined into one CSS file -> Option A
  4. Quick Check:

    Imports merge partials into one CSS [OK]
Hint: Imports combine partials into one CSS file [OK]
Common Mistakes:
  • Thinking imports create separate CSS files
  • Believing folder names are invalid in imports
  • Assuming imports are ignored during compilation
4. You have this import in main.scss:
@import 'layout/grid';
But when compiling, you get an error: File to import not found or unreadable: layout/_grid.scss.
What is the most likely cause?
medium
A. Sass does not support nested folders in imports
B. You should import as @import 'layout/_grid.scss'; including underscore and extension
C. The main.scss file must be inside the layout folder
D. The file _grid.scss is missing from the layout folder

Solution

  1. Step 1: Check the error message

    The error says the file layout/_grid.scss cannot be found or read.
  2. Step 2: Understand import rules

    Importing @import 'layout/grid'; expects a file named _grid.scss inside the layout folder.
  3. Final Answer:

    The file _grid.scss is missing from the layout folder -> Option D
  4. Quick Check:

    Missing partial file causes import error [OK]
Hint: Check if partial file exists in correct folder [OK]
Common Mistakes:
  • Including underscore and extension in import
  • Moving main.scss into partial folders
  • Assuming Sass disallows folder nesting
5. In the 7-1 folder pattern, you want to add a new component style for a card UI element. Where should you place the partial file and how should you import it in main.scss?
hard
A. Place _card.scss in the root sass folder and import with @import 'card';
B. Place _card.scss in the base folder and import with @import 'base/card';
C. Place _card.scss in the components folder and import with @import 'components/card';
D. Place _card.scss in the abstracts folder and import with @import 'abstracts/card';

Solution

  1. Step 1: Identify the correct folder for UI components

    The 7-1 pattern uses the components folder for UI parts like buttons, cards, and modals.
  2. Step 2: Use proper import syntax in main.scss

    Place _card.scss inside components and import as @import 'components/card';.
  3. Final Answer:

    Place _card.scss in components folder and import with @import 'components/card'; -> Option C
  4. Quick Check:

    UI parts go in components folder [OK]
Hint: Put UI parts in components folder, import with folder/name [OK]
Common Mistakes:
  • Putting components in base or abstracts folders
  • Importing with underscore or .scss extension
  • Placing partials outside organized folders