When building layouts, most people think it CSS properties like display: grid and grid-template-columns, but doing that slows you down and causes you to lose track of what you were doing.
But we didn’t have good alternatives so far — until now.
Less frustration. More flow. Complete your work faster.
When building layouts, most people think it CSS properties like display: grid and grid-template-columns, but doing that slows you down and causes you to lose track of what you were doing.
But we didn’t have good alternatives so far — until now.
When you have classes that supports each category’s needs, building layouts become a breeze.
The fundamental app structure, like:
These must work for holy-grail placements.
Page-level arrangements, like:
These must be responsive and flexible to use in various places.
Component-level creations, like:
These must let you shape the component.
Precise placement, like:
These need quick precision so you don’t have to adjust them manually
These 25 utilities help you build responsive layouts quickly
Splendid Layouts contains 25 utilities spread over these 4 categories:
You can tell what these utilities do just by reading their class names — you don’t need to dive deep into CSS Land to understand them.
Here are the utilities. Click on each one to view their documentation.
A three-column grid that gives you utilities to break out of the main content easily.
Create CSS galleries with auto-fill or auto-fit.
Stacks elements on top of each other.
Create scrollbars with scroll-snap enhancements for your components when appropriate
Position your element on any side or corner.
Put your element on any edge — even in the corners
Create fixed-position items on any side or corner.
Move an element towards the center of its container (or away from it).
Creates sticky elements on any side and style it when it sticks
Ignore this text and focus on the sticky item instead. The purpose of this is to increase the height of the content so we can showcase the sticky item.
Ignore this text and focus on the sticky item instead. The purpose of this is to increase the height of the content so we can showcase the sticky item.
Ignore this text and focus on the sticky item instead. The purpose of this is to increase the height of the content so we can showcase the sticky item.
Ignore this text and focus on the sticky item instead. The purpose of this is to increase the height of the content so we can showcase the sticky item.
Ignore this text and focus on the sticky item instead. The purpose of this is to increase the height of the content so we can showcase the sticky item.
You no longer need to remember CSS layout properties and values.
When you have these utilities, you:
I’ll be honest — I haven’t been able to go back to standard CSS after I began using these classes. It’s that effective.
You don’t have to believe me, because you can see it for yourself.
Here are some examples of layouts built with Splendid Layouts vs Vanilla CSS — just click through them and you’ll see the difference in a few seconds.
To top it off, we’re only showcasing 1 out of all 25 utilities here!
Just write grid-simple, and specify the number columns.
<div class="grid-simple [--cols:3]"> <div>...</div> <div>...</div> <div>...</div></div>Here you have to prevent grid-blowout by including minmax on the grid and max-width on the children items.
.three-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; width: 100%;
> * { max-width: 100%; }}Here’s the output:
Here’s how you can make a 1-column layout on mobile and a 3-column layout on desktop.
<div class="grid-simple [--cols:1] md:[--cols:3]"> <div>...</div> <div>...</div> <div>...</div></div>Here you gotta change the grid-template-columns value at different breakpoints. It’s of course, easier with CSS variables.
But imagine writing this every, single, time…
.grid { --cols: 2; display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); gap: 1rem; width: 100%;
@media (min-width: 768px) { --cols: 3; }}Just change --span. Simple!
<div class="grid-simple [--cols:3] gap-4"> <div class="[--span:2]">...</div> <div class="[--span:1]">...</div></div>This can be hard in CSS cos you need to select the right child…
.grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); /* ... */
> :first-child { grid-column-end: span 2; } > :nth-child(2) { grid-column-end: span 1; }}
Hi, my name is Zell and I’m a developer just like you.
Splendid Layouts is born from my personal frustration with ineffective layouts and my desire to build great things quickly.
I believe that layouts can be created quickly.
That’s why I built Splendid Layouts. I’ve never been happier using it since.
Zell is the rare sort of developer who both knows his stuff and can explain even the most technical jargon in approachable — and even fun! — ways.
I’ve taken his courses and always look forward to his writing because I know I’ll walk away with something that makes me a better front-ender.
Your articles are honestly the best resources out there! They have really helped 100Devs folx understand topics that are always stumbling blocks for new devs.
Really appreciate the work you put into your content!
Zell is one of those rare people who commands tremendous knowledge and experience but remains humble and helpful. They want you to know what they know, not just be impressed by it.
In other words, Zell is a natural teacher. You’re lucky to have him because he feels lucky to be able to help you in your journey.
Getting access to Splendid Layouts
You have two ways to get access to Splendid Layouts today.
Choose Splendid Layouts if you want to work with our robust layout system today. Or get Splendid Pro to have an access pass to everything we have built for developers who value craft and DX.
*Documentation for these are still a work-in-progress. I’m striving to finish them as soon as I can :)
Once you have decided:
Here’s what you can expect as you begin to use Splendid Layouts:
stack to create more complex layouts.Here are answers to some of the questions may ask as you wonder if Splendid Layouts would fit into your development workflow.
We don’t have to spend hours tweaking CSS to make layouts look just the way we want them to be
It might take a few days to get used to this new style of writing layouts.
But, once you get the hang of it, you’ll begin to feel the ease. It’s like walking downhill after you’ve been jogging uphill for a while.
I’m serious.
Try it for risk-free for 60 days. If Splendid Layouts doesn’t speed up your workflow enough to justify the cost, get every cent back. No questions asked.
Let’s make layouts fun and easy — then we all get to spend time doing the things we love.
Stay awesome,
Zell