Performance: Why display modes matter
Display modes affect how browsers calculate layout and paint elements, impacting page load speed and visual stability.
Jump into concepts and practice - no test required
<ul class="list-disc pl-5"> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ul>
<div class="block"> <div class="block">Item 1</div> <div class="block">Item 2</div> <div class="block">Item 3</div> </div>
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| block display for all elements | High (many stacked nodes) | Multiple reflows per change | High paint cost due to layout shifts | [X] Bad |
| flex display for container | Moderate (flat structure) | Single reflow on container | Lower paint cost with stable layout | [OK] Good |
| grid display for layout | Moderate | Single reflow with efficient placement | Efficient paint with minimal shifts | [OK] Good |
block class in Tailwind applies this block display mode.block class [OK]block class for full width [OK]inline with block displayflex is block by defaulthidden shows the elementhidden class in Tailwind sets display: none;, hiding the element.visible is not a Tailwind display class, block and flex show elements.hidden class [OK]hidden to hide elements in Tailwind [OK]visible which is not a Tailwind display classblock or flex as hiding classesinline flex?flex overrides inline.inline is applied first and flex second, it becomes a flex container with block behavior.inline flex, flex overrides inline, so element behaves as flex container (block-level).inline and flex can coexistblock and children stack vertically. What is the mistake?block makes container stack children vertically by default.flex for horizontal layoutflex display.block instead of flex on the container -> Option Dflex container [OK]flex on container for horizontal layout [OK]flex to children instead of containerinline arranges children horizontallyblock stacks verticallyinline-flex class makes the button flow inline with text.inline-flex class makes the button a flex container for its children.items-center aligns children vertically center inside flex container.inline-flex items-center [OK]inline-flex items-center for inline flex centering [OK]block makes button block-level, breaking inline flowitems-center for vertical alignmentjustify-between instead of centering