Bird
Raised Fist0
Bootsrapmarkup~8 mins

Display utilities in Bootsrap - Performance & Optimization

Choose your learning style10 modes available
Performance: Display utilities
MEDIUM IMPACT
Display utilities affect how elements are shown or hidden, impacting layout calculation and rendering speed.
Toggling element visibility on user interaction
Bootsrap
<div class="d-none" id="content">Content</div>
<button id="btn">Show</button>
<script>
document.getElementById('btn').addEventListener('click', () => {
  document.getElementById('content').classList.toggle('d-none');
});
</script>
Using Bootstrap's display utility classes leverages CSS for visibility toggling, minimizing inline style changes and reflows.
📈 Performance GainSingle reflow per toggle with efficient CSS class changes, reducing layout thrashing.
Toggling element visibility on user interaction
Bootsrap
<div style="display:none;">Content</div>
<button id="btn">Show</button>
<script>
document.getElementById('btn').addEventListener('click', () => {
  const el = document.querySelector('div');
  el.style.display = 'block';
});
</script>
Directly manipulating inline styles causes layout recalculation and can trigger multiple reflows if done repeatedly.
📉 Performance CostTriggers 1 reflow per toggle, causing layout thrashing if toggled frequently.
Performance Comparison
PatternDOM OperationsReflowsPaint CostVerdict
Inline style display toggleDirect style changes on element1 reflow per toggleMedium paint cost[X] Bad
Bootstrap display utility class toggleClass attribute toggle1 reflow per toggleMedium paint cost[OK] Good
Rendering Pipeline
Display utilities change the CSS display property, affecting the Layout and Paint stages by showing or hiding elements.
→Style Calculation
→Layout
→Paint
⚠️ BottleneckLayout stage is most expensive because changing display affects element size and position.
Core Web Vital Affected
CLS
Display utilities affect how elements are shown or hidden, impacting layout calculation and rendering speed.
Optimization Tips
1Avoid inline style changes for display toggling; prefer CSS classes.
2Changing display triggers layout recalculation, so minimize toggles.
3Use Bootstrap display utilities to leverage optimized CSS for visibility.
Performance Quiz - 3 Questions
Test your performance knowledge
Which method is more efficient for toggling element visibility?
ARemoving and re-adding the element from the DOM
BToggling Bootstrap display utility classes
CChanging inline style display property directly
DUsing visibility: hidden CSS property
DevTools: Performance
How to check: Record a performance profile while toggling display. Look for layout and paint events in the flame chart.
What to look for: Frequent layout recalculations indicate costly display changes; fewer layout events mean better performance.

Practice

(1/5)
1. What does the Bootstrap class d-none do to an element?
easy
A. It hides the element on all screen sizes.
B. It makes the element visible only on small screens.
C. It changes the element's color to none.
D. It disables the element's interaction.

Solution

  1. Step 1: Understand the d-none class purpose

    The d-none class in Bootstrap sets the CSS property display: none; which hides the element completely.
  2. Step 2: Confirm effect on all screen sizes

    Since no breakpoint is specified, d-none applies to all screen sizes, hiding the element everywhere.
  3. Final Answer:

    It hides the element on all screen sizes. -> Option A
  4. Quick Check:

    d-none = hide element always [OK]
Hint: Remember: d-none means display none everywhere [OK]
Common Mistakes:
  • Thinking d-none only hides on small screens
  • Confusing d-none with color or interaction changes
  • Assuming it disables the element
2. Which of the following is the correct Bootstrap class to make an element visible only on medium and larger screens?
easy
A. d-none d-md-block
B. d-md-none
C. d-block d-md-none
D. d-sm-block d-md-none

Solution

  1. Step 1: Understand breakpoint classes for visibility

    d-none hides the element on all screens, and d-md-block shows it as block starting from medium screens and up.
  2. Step 2: Combine classes to show only on medium and larger

    Using d-none d-md-block hides the element on small and extra small screens, then shows it on medium and larger.
  3. Final Answer:

    d-none d-md-block -> Option A
  4. Quick Check:

    Hide all + show md+ = d-none d-md-block [OK]
Hint: Use d-none to hide, then d-md-block to show from md up [OK]
Common Mistakes:
  • Using d-md-none which hides on medium screens
  • Confusing d-block and d-none order
  • Using wrong breakpoints like d-sm-block d-md-none
3. What will be the visible behavior of this element?
<div class="d-none d-lg-block">Hello</div>
medium
A. Visible on all screen sizes
B. Hidden on large screens and above
C. Visible only on large screens and above
D. Hidden on all screen sizes

Solution

  1. Step 1: Analyze the classes d-none and d-lg-block

    d-none hides the element on all screen sizes by default. d-lg-block overrides this to show the element as block starting at large screens (lg) and above.
  2. Step 2: Determine visibility on screen sizes

    From extra small to medium screens, the element is hidden. From large screens and up, it becomes visible as a block element.
  3. Final Answer:

    Visible only on large screens and above -> Option C
  4. Quick Check:

    d-none + d-lg-block = show lg+ only [OK]
Hint: d-none hides all, d-lg-block shows from large screens [OK]
Common Mistakes:
  • Thinking it is visible on all screens
  • Confusing d-lg-block as hiding on large screens
  • Ignoring the effect of d-none
4. You want to hide an element only on small screens but it remains visible everywhere. Which Bootstrap class usage is incorrect?
medium
A. d-sm-none d-md-block
B. d-block d-sm-none
C. d-none d-md-block
D. d-none d-sm-block

Solution

  1. Step 1: Understand the goal and class effects

    To hide only on small screens, the element should be visible by default and hidden on small screens only.
  2. Step 2: Analyze each option's effect

    d-none d-sm-block hides the element on all screens by default, then shows it from small screens and up. This means it is hidden only on extra small screens, not small screens.
  3. Final Answer:

    d-none d-sm-block -> Option D
  4. Quick Check:

    Hide all then show sm+ hides xs only, not sm [OK]
Hint: Check which breakpoint hides vs shows carefully [OK]
Common Mistakes:
  • Mixing up small (sm) and extra small (xs) breakpoints
  • Using d-none without proper show class
  • Assuming d-sm-block hides on small screens
5. You want a paragraph to be hidden on extra small and small screens, visible as block on medium and large screens, and inline on extra large screens. Which class set achieves this?
hard
A. d-none d-md-inline d-xl-block
B. d-none d-md-block d-xl-inline
C. d-none d-sm-block d-lg-inline
D. d-sm-none d-md-block d-lg-inline

Solution

  1. Step 1: Break down the requirements by screen size

    Extra small (xs) and small (sm): hidden
    Medium (md) and large (lg): visible as block
    Extra large (xl): visible as inline
  2. Step 2: Match classes to requirements

    d-none hides on all by default (xs and sm included). d-md-block shows block from medium and up (md, lg, xl). d-xl-inline overrides to inline only on extra large screens.
  3. Step 3: Verify other options

    Other options either hide wrong breakpoints or use incorrect display types at breakpoints.
  4. Final Answer:

    d-none d-md-block d-xl-inline -> Option B
  5. Quick Check:

    Hide all, show block md+, inline xl = d-none d-md-block d-xl-inline [OK]
Hint: Use d-none to hide, then override with d-md-block and d-xl-inline [OK]
Common Mistakes:
  • Using d-sm-none hides only small, not extra small
  • Mixing inline and block classes at wrong breakpoints
  • Forgetting to hide on extra small screens
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