Yumma CSS v3.0 Beta
It looks like you’re just as excited as we are about what’s to come in the next version of Yumma CSS! We can’t wait to show you what we’ve got in store. Get ready, because the next version of Yumma CSS is going to be amazing!
This version is still a work in progress, as are the changes to this page, so some features might be updated, removed, or never included in the final version.
New logotype, new logomark
After putting in weeks of work and going through a bunch of trials, we finally refreshed the new logo and design of Yumma CSS — Special shout-out to @heydut for their help.
This new logo shows the major changes to Yumma CSS 3.0 and how it will have a positive impact on future versions. We’ve switched from a Pink to an Indigo color.
We also changed the shape of the logomark to resemble the flexibility that v3 is all about. Check out our brand logotype guidelines here.
Production-ready with CLI
Up until recently, the only way to use Yumma CSS was to import the compiled CSS into your main CSS file. As Yumma CSS is becoming more and more extensive, importing all its content at once might cause performance issues and slower loading times.
We’re really excited to introduce Yumma CSS CLI, an awesome new way to create production-ready and fully optimized Yumma CSS projects.
Dependency changes
If you’re planning on using the command-line interface feature, we suggest installing yummacss as a dev dependency since we’re now dealing with SCSS compilation on the user side.
The full set of utilities will be retained within the distribution folder for the purpose of facilitating the importation of the entire Yumma utilities suite, should this be required.
Directorydist
- yumma.css
- yumma.min.css
Upgrade from v2.1
The new CLI system lets you compile and get rid of any unused utilities you’re not using in your Yumma CSS project, which means smaller CSS files and better performance.
-
Remove
@import
rulesThe CLI works by compiling SCSS to CSS, so there’s no need to import the Yumma CSS package dependency.
-
Add the Yumma config file
Next, add the
yummacss.config.js
to the root level of your project.Directorypublic
- favicon.ico
Directorysrc
- globals.css
- page.html
- .gitignore
- package-lock.json
- package.json
- yummacss.config.js // Add the config file
-
Set up the config file
To allow the CLI command to scan your project files and build the CSS base in the output path, add the content array and output string field.
-
Compile the SCSS
To compile the SCSS from to CSS, just run
npx yummacss build
. This command will only compile the used CSS that’s been scanned in your project files each time you run the command. It’ll also tree shake any unusable utilities in your code.
Core changes
From now on, core files like yumma-core.css
and yumma-core.min.css
will be deleted from the /dist
folder in favor of the yummacss.config.js
config file.
Performance boost
We completely overhauled the entire codebase to get better performance in build times and overall file size. We changing the way utilities and modifiers are generated, to eliminate any potential for duplicated or unnecessary data in the /dist
folder.
Metric | v2.1 | v3.0 | Improvement |
---|---|---|---|
Complete build | 13.88 s | ??? | ??? |
File size (standard) | 3.21 MB | ??? | ??? |
File size (minified) | 2.48 MB | ??? | ??? |
Utilities coverage | 108 | 176 | +68 |
Stylecent changes
We’re making some changes to Stylecent in version 3 to make it more modern and consistent. These changes are turned on by default, but you can turn them off using the yummacss.config.js
file.
By default, all paddings will be removed.
Font rendering is smoother, and a consistent system font is set as the default.
Form elements now include padding and border-radius by default. Borders are added for form elements without class attributes.
Interactive elements have clear outlines for accessibility.
Disabled elements are visually distinct with reduced opacity and a “not-allowed” cursor.
Headings adopt balanced text wrapping, consistent font sizes, and bold weights.
Small text and code elements are consistently scaled and inherited. Code elements will have consistent font family.
Default link styles are reset, with underline styling applied on hover for accessibility.
Table headers are bold and sized consistently.
Horizontal rules, details, and summaries are updated for better spacing and display.
All-new utilities
To make the Yumma CSS framework as complete as possible, we’re adding support for over 60 utility classes to the core of the framework.
Backgrounds
- Background Attachment
- Background Clip
- Background Origin
- Background Position
- Background Repeat
- Background Size
Borders
- Border Spacing
- Border Radius
Box Model
- Margin Block End
- Margin Block Start
- Margin Inline End
- Margin Inline Start
- Padding Block End
- Padding Block Start
- Padding Inline End
- Padding Inline Start
Effect
- Blur
- Box Decoration Break
- Grayscale
Flexbox
- Order
- Place Content
- Place Items
- Place Self
Interactivity
- Scroll Behavior
- Scroll Margin
- Scroll Margin Bottom
- Scroll Margin Inline End
- Scroll Margin Inline Start
- Scroll Margin Left
- Scroll Margin Right
- Scroll Margin Top
- Scroll Margin X
- Scroll Margin Y
- Scroll Padding
- Scroll Padding Bottom
- Scroll Padding Inline End
- Scroll Padding Inline Start
- Scroll Padding Left
- Scroll Padding Right
- Scroll Padding Top
- Scroll Padding X
- Scroll Padding Y
- Scroll Snap Align
- Scroll Snap Stop
- Scroll Snap Type
Layout
- Clear
- Direction (Axis)
- Isolation
- Visibility
SVG
- Fill
- Stroke
- Stroke Width
Text
- Letter Spacing
- List Style Position
- Text Indent
- Text Overflow
- Text Transform
- Text Underline Offset
- Text Wrap
- Vertical Align
- Whitespace
Transforms
- Rotate
- Scale
- Skew
- Transform Origin
- Translate
Transitions
- Transition Delay
- Transition Duration
- Transition Property
Color improvements
In v3, both the light (l-
) and dark (d-
) specifiers are being removed across all color utilities. As a result, the range used to determine a color’s shade was also adjusted.
To make this easier to understand, let’s look at the background-color
utility.
v2.1 | v3.0 | Improvement |
---|---|---|
bg-l-indigo-6 | bg-indigo-1 | -2 characters |
bg-l-indigo-5 | bg-indigo-2 | -2 characters |
bg-l-indigo-4 | bg-indigo-3 | -2 characters |
bg-l-indigo-3 | bg-indigo-4 | -2 characters |
bg-l-indigo-2 | bg-indigo-5 | -2 characters |
bg-l-indigo-1 | bg-indigo-6 | -2 characters |
bg-indigo | bg-indigo | No changes |
bg-d-indigo-1 | bg-indigo-7 | -2 character |
bg-d-indigo-2 | bg-indigo-8 | -2 character |
bg-d-indigo-3 | bg-indigo-9 | -2 character |
bg-d-indigo-4 | bg-indigo-10 | -1 character |
bg-d-indigo-5 | bg-indigo-11 | -1 character |
bg-d-indigo-6 | bg-indigo-12 | -1 character |
Also, the color hue is increasing from 10%
shade modification to 14%
. This means that light colors will become lighter, and dark colors will become darker.
Syntax changes
We’re making Yumma CSS even more concise with the utility classes to keep everything minimal. Here are some of the new changes we’ve got planned:
Dimension
In v3, we’ve made the Dimension utility even more abbreviated to align with the purpose of the framework.
This also applies to the Max and Min Dimension utilities.
Spacing
In v3, we’ve shortened the syntax for the Spacing utilities.
Direction
In v3, we’ve also made changes to the way the Direction utilities are written. This includes changes to the Bottom, Left, Right, and Top variants.
Removed utilities
It’s time to say goodbye to some of the old utilities in Yumma CSS. Here are some of the utilities we’ve removed:
.ins{}
It’s been a great ride, and we’re sure most of you have used it to easily center a div in the middle of the screen, but this concept was not very useful in many case scenarios where you would typically need more customizability, so we’ve decided to remove it.
.cnt{}
We are no longer supporting the cnt
utility. We are making improvements to our modifiers to make them more flexible and easier to use.