<p>In my <a href="/daily/2024/01/09/using-tailwind-css-is-a-great-way-to-learn-css">recent pair programming session</a>, building components with Tailwind CSS, we experienced another benefit of styling with utility classes.</p>
<p>CSS usually has a global scope, but utility classes change it to a local scope.</p>
<p>For example, having a card component with a <code>card</code> class on it, any changes to the styles will affect all instances of any card component that uses the <code>card</code> class.</p>
<p>How do you know you haven't broken something in a different component without re-checking every component manually?</p>
<p>How do you easily modify or extend it as requirements change or add more card types?</p>
<p>If you need to make a change in the future, you're likely to add more styles and modifiers and add to the CSS, causing it to grow rather than change the existing styles - in fear of breaking something else.</p>
<p>With utility classes, such as the ones generated by Tailwind CSS, you can see and understand what styles are applied to the HTML.</p>
<p>This also makes it easier to change, and because the classes and styles are added directly to that element, you don't need to worry about breakages elsewhere.</p>
<p>If you need to add a new class to that card type, you can do so knowing that it won't affect all card styles globally in your application - just the one you're working on.</p>
<p>This means you can change things more easily in the future but also work quicker now as you don't need to worry about all that additional context.</p>
<p>You can focus on what you're working on right now.</p>
<p>In my <a href="/daily/2024/01/09/using-tailwind-css-is-a-great-way-to-learn-css">recent pair programming session</a>, building components with Tailwind CSS, we experienced another benefit of styling with utility classes.</p>
<p>CSS usually has a global scope, but utility classes change it to a local scope.</p>
<p>For example, having a card component with a <code>card</code> class on it, any changes to the styles will affect all instances of any card component that uses the <code>card</code> class.</p>
<p>How do you know you haven't broken something in a different component without re-checking every component manually?</p>
<p>How do you easily modify or extend it as requirements change or add more card types?</p>
<p>If you need to make a change in the future, you're likely to add more styles and modifiers and add to the CSS, causing it to grow rather than change the existing styles - in fear of breaking something else.</p>
<p>With utility classes, such as the ones generated by Tailwind CSS, you can see and understand what styles are applied to the HTML.</p>
<p>This also makes it easier to change, and because the classes and styles are added directly to that element, you don't need to worry about breakages elsewhere.</p>
<p>If you need to add a new class to that card type, you can do so knowing that it won't affect all card styles globally in your application - just the one you're working on.</p>
<p>This means you can change things more easily in the future but also work quicker now as you don't need to worry about all that additional context.</p>
<p>You can focus on what you're working on right now.</p>