<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Renildo Pereira</title>
    <description>The latest articles on DEV Community by Renildo Pereira (@rrenildopereiraa).</description>
    <link>https://dev.to/rrenildopereiraa</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4007019%2Fe5b8c349-88f2-42b8-b4a4-eb48eeaac689.png</url>
      <title>DEV Community: Renildo Pereira</title>
      <link>https://dev.to/rrenildopereiraa</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rrenildopereiraa"/>
    <language>en</language>
    <item>
      <title>If You Know CSS, You Already Know Yumma CSS</title>
      <dc:creator>Renildo Pereira</dc:creator>
      <pubDate>Mon, 29 Jun 2026 08:19:59 +0000</pubDate>
      <link>https://dev.to/rrenildopereiraa/if-you-know-css-you-already-know-yumma-css-2dbo</link>
      <guid>https://dev.to/rrenildopereiraa/if-you-know-css-you-already-know-yumma-css-2dbo</guid>
      <description>&lt;p&gt;Tailwind's class names are readable. &lt;code&gt;items-center&lt;/code&gt; tells you what it does. But it's not CSS. It's Tailwind's own name for &lt;code&gt;align-items: center&lt;/code&gt;, &amp;amp; that name doesn't always trace back cleanly. &lt;code&gt;gap-x-4&lt;/code&gt; reads fine, but &lt;code&gt;gap-x&lt;/code&gt; isn't a CSS property. &lt;code&gt;column-gap&lt;/code&gt; is. Same with &lt;code&gt;shrink-0&lt;/code&gt; for &lt;code&gt;flex-shrink: 0&lt;/code&gt;, or &lt;code&gt;flex-col&lt;/code&gt; for &lt;code&gt;flex-direction: column&lt;/code&gt;. Every one of these is something you learn on top of CSS, not something CSS already taught you.&lt;/p&gt;

&lt;p&gt;I didn't want a second vocabulary. I wanted the one I already had to be enough. Three years ago that turned into Yumma CSS.&lt;/p&gt;

&lt;h2&gt;
  
  
  The rule
&lt;/h2&gt;

&lt;p&gt;Yumma CSS doesn't invent class names. It derives them from the CSS you already know, using one mechanical rule:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The prefix is the initials of the property's words.&lt;/li&gt;
&lt;li&gt;The suffix is the initials of the value's words.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="c"&gt;/* display: flex;                  -&amp;gt; */&lt;/span&gt; &lt;span class="nc"&gt;.d-f&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="err"&gt;…&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="c"&gt;/* justify-content: space-between; -&amp;gt; */&lt;/span&gt; &lt;span class="nc"&gt;.jc-sb&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="err"&gt;…&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="c"&gt;/* align-items: center;            -&amp;gt; */&lt;/span&gt; &lt;span class="nc"&gt;.ai-c&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="err"&gt;…&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="c"&gt;/* flex-direction: column;         -&amp;gt; */&lt;/span&gt; &lt;span class="nc"&gt;.fd-c&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="err"&gt;…&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="c"&gt;/* column-gap: 1rem;               -&amp;gt; */&lt;/span&gt; &lt;span class="nc"&gt;.cg-4&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="err"&gt;…&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="c"&gt;/* margin-top: 1rem;               -&amp;gt; */&lt;/span&gt; &lt;span class="nc"&gt;.mt-4&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="err"&gt;…&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you already think in CSS properties, you can guess most of these correctly before you've opened the docs. There's no separate naming system to hold in your head alongside the one you already have.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs you
&lt;/h2&gt;

&lt;p&gt;I'm not going to pretend this is free.&lt;/p&gt;

&lt;p&gt;Yumma's numeric scale is curated, not arbitrary. Spacing &amp;amp; sizing run on a fixed &lt;code&gt;0.25rem&lt;/code&gt; step from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;96rem&lt;/code&gt;, &amp;amp; that's it. There's no bracket syntax, no &lt;code&gt;w-[137px]&lt;/code&gt;. If the value you want isn't on the scale, you don't get it, &amp;amp; that's deliberate: fewer one-off values floating around a codebase, more consistency by default. It's the same bet most design systems make when they limit themselves to tokens instead of arbitrary numbers.&lt;/p&gt;

&lt;p&gt;It also means this isn't a beginner's tool. If you don't already know what &lt;code&gt;justify-content&lt;/code&gt; does, abbreviating it to &lt;code&gt;jc&lt;/code&gt; doesn't help you. It just looks cryptic. Yumma CSS is for people who already think in CSS properties &amp;amp; want their classes to trace back to that knowledge directly, not for people learning CSS for the first time. I'm fine saying that plainly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this leaves Tailwind
&lt;/h2&gt;

&lt;p&gt;This isn't an argument that Tailwind is worse. Its naming is genuinely good: readable, consistent, easy to skim. It's just a different design goal. Tailwind optimizes for names that read well on their own; Yumma CSS optimizes for names that map directly onto the property &amp;amp; value they produce. Both are reasonable things to want. I just happen to want the second one, for myself &amp;amp; for anyone else who'd rather not maintain two mental models of "what makes a margin."&lt;/p&gt;

&lt;h2&gt;
  
  
  Where it's at
&lt;/h2&gt;

&lt;p&gt;This is a solo project, three years in, still early. The &lt;a href="https://www.yummacss.com/docs" rel="noopener noreferrer"&gt;docs&lt;/a&gt; walk through the full rule &amp;amp; the rest of the utilities, &amp;amp; the &lt;a href="https://play.yummacss.com" rel="noopener noreferrer"&gt;playground&lt;/a&gt; lets you try it without installing anything.&lt;/p&gt;

&lt;p&gt;If you poke around &amp;amp; think the rule breaks somewhere, I'd genuinely like to hear where. That's more useful to me right now than a star.&lt;/p&gt;

</description>
      <category>css</category>
      <category>showdev</category>
      <category>webdev</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
