Start using Stylify CSS with your favorite tool in a minute

Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image

Migrate from other CSS frameworks and CSS-in-JS libraries to Stylify easily

Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image

Prepared Headless Components

Copy&Paste, unstyled components inspired by the Material Design V3.

Zero Learning Curve and Faster Coding

Instead of writing CSS and switching between HTML and CSS files use CSS-like selectors. The syntax is similar to CSS. Use _ instead of space and ^ for a quote.

<h1 class="font-size:24px color:blue hover:color:lightblue lg:font-size:32px">
	Hello World!🎉
</h1>

Automatic and Extremely Tuned CSS and HTML Optimization

CSS is dynamically generated into CSS files, it is optimized and HTML is mangled. No unused CSS is generated. No CSS purge is needed. No CSS files have to be created. Thanks to inner algorithm for joining selectors, almost no duplicates are generated.

<!-- Production HTML -->
<h1 class="a b c d">
	Hello World!🎉
</h1>

/* Production CSS */
.a {font-size:24px}
.b {color:blue}
.c:hover {color:lightblue}

@media (min-width: 1024px) {
  .d{ font-size: 32px }
}

Simple CSS Bundles Splitting

CSS bundles can be split into multiple files. It's more efficient than combining CSS manually and it also makes the CSS output smaller.

const bundles = [
	// Use Glob syntax to map files
	{ files: [ 'templates/**/*.html' ], outputFile: 'global.css },
	// Split CSS for layouts
	{ files: [ 'layout.html' ], outputFile: 'layout.css' },
	// And for pages
	{ files: [ 'index.html' ], outputFile: 'index.css' }
];

Intuitive Configuration

Define reusable variables, components and custom selectors to simplify the development. Variables values can be different for each screen. This allows you to change it for dark mode/light mode and desktop/mobile.

const config = {
	variables: {
		primary: '#01befe',
		titleFontSize: '24px',
		// Variables based on color scheme dark/light
		dark: {
			primary: '#fff'
		},
		// Variables based on screen size
		'minw640px': {
			titleFontSize: 38px
		}
	},
	components: {
		'section': 'max-width:1240px margin:0_auto_24px_auto',
		// Dynamic components
		'title(?:--(\\S+))?': ({ matches, variables, helpers, dev }) => {
			const color = matches[1] ?? '#000';
			return `font-size:24px${color ? ` color:${color}` : ''}`;
		},
	},
	customSelectors: {
		'*': 'box-sizing:border-box',
		'h1,h2': 'margin-top:0 margin-bottom:12px md:margin-bottom:24px'
	},
	macros: {
		'ml:(\S+?)': (match) => {
			// ml:24px => will create => margin-left: 24px
			return {'margin-left': match.getCapture(0)}
		}
	},
}

Configure Variables, Components and Global Selectors in files, where they are used

Components, Variables and Global Selectors can be defined within a file, where they are used. This encapsulates component CSS and HTML into one file.

<!--
stylify-variables
	blue: '#01befe'
/stylify-variables

stylify-components
	subtitle: 'font-size:24px margin-bottom:12px color:$blue'
/stylify-components
-->
<h2 class="subtitle">Subtitle 1</h2>
<h2 class="subtitle">Subtitle 2</h2>

Extend Functionality with Hooks

Hooks can be used extend functionality and modify the output during compilation. There are hooks for Compiler, Bundler and in browser for Runtime.

// This hook example converts px font size
// to REM and automatically calculates line height.
import {hooks} from '@stylify/stylify';

hooks.addListener('compiler:newMacroMatch', ({selectorProperties}) => {
	const pixelUnit = selectorProperties['font-size'];

	if (typeof pixelUnit === 'undefined' || !pixelUnit.endsWith('px')) {
		return;
	}

	const pixelFontSize = Number(pixelUnit.slice(0,-2));
	const remFontSize = pixelFontSize / 10;

	selectorProperties['font-size'] = `${remFontSize}rem`;
	selectorProperties['line-height'] = `${remFontSize * (pixelFontSize >= 28 ? 1.2 : 1.7)}rem`;
});

They talked about Stylify CSS

Image
LukeshiruWebdev at Vangware
It's like Tailwind's JIT, but without having to learn new classnames, and following a really simple set of "rules". Great library!
Image
Yoav GanbarEngineer at Builder.io and QwikDev
Write plain CSS just in a class?
Fair enough, I'm intrigued.
Image
蝉丸ファンCore committer of @webpack
It's similar to the Tailwind but more readable.
Image
Phan An@vuejs core team member
This looks super interesting!
Image
Image
One of the Top Front-End Tools Of 2022By Louis Lazaris
Image
One of the Top Development Languages on Product Hunt
Image
Mentioned in TLDR.tech newsletter
Image
Mentioned in Codrops newsletter
Image
Mentioned in This Week In React newsletterBy Sébastien Lorber
Image
Mentioned by Remix.run maintainer as a tool for generating CSS for RemixBy Chance Strickland
Image
Mentioned in Web Tools Weekly as one of the Top 30 Tools of 2022
Image
One of the Best Tailwind CSS Alternatives for 2023
Image
Mentioned as one of the Top 7 Web dev tools that will make your life EASYBy Pritesh Kiri
Image
Mentioned in Svelte newsletterBy Dani Sandoval
Image
Mentioned in Symfony newsletterBy Javier Eguiluz
Image
Mentioned in Jamstacked newsletterBy Brian Rinaldi
Image
Mentioned in Feature NewsletterBy Gabriel Nunes
Image
Mentioned in JSter newsletter as a tool for Writing CSS
Image
Jorge Baumann.jsFull Stack Developer at One Beyond
[🔧] Do you know Stylify? It's an alternative to Tailwind #CSS that goes one step further. 🔤 Known syntax 📈 No learning curve 👩‍💻 Write normal CSS in classes ⚛️ Supports variables and components 🗜️ Works with Webpack, Rollup or Vite
Image
Tomáš PilařCo-Founder & CTO Conviu.com
I recommend looking at stylifycss.com if you don't know that tool yet 👍. Launched on the first try with Symfony and it works like a charm! 👏
Image
Posandu MapaFullstack dev
I like how Stylify compresses the utility classes. A good Tailwind CSS alternative.
Image
Tom RavnWebdeveloper & SysAdmin
Have you heard about Stylify? Similar framework as #TailwindCSS. I guess when you finally learn #CSS using Tailwind you can go level deeper and use Stylify, you will basically write pure CSS into #html.😆
Image
Reegan RajasekarFull Stack Web Developer
I just thought it's just another css library like tailwind. But Twitter recommend this every time. So i just checked what is this . But now I feel it's awesome. bcz it gives utility classes like tailwind but it uses css like class names . I gonna use this in my next projects.
Image
Finn GuhaWebdev teacher
Wow, that seems like a promising concept! And one that seems very interesting to me personally. I am always amazed by new and unique concepts of writing CSS.
Image
David Mario LiclaFront-End dev at Forma
🤯 Did you know that there is an alternative to TailwindCSS but only using CSS properties? Look it's called Stylify!
Image
Toheeb OgunbiyiWeb-UI Engineer
Utility on steroids, I love this! No weird utility names, almost same as CSS. Chars as class names on production. Colocation of states within the rule makes a lot of sense too. This makes up for readability compared to others.
Image
RinFull-Stack Developer
Immediately interested when I read features on documentation, give a shot with Astro and absolutely love it.
Image
Michael AndreuzzaUI Designer & Front end dev
I like that mangling feature. I was using a library that uglifies the code exactly like that..very useful for some cases.
Image
Oscar Lito M Pablo
We now can easily integrate/use in @stylifycss by @8machy any Material Design 3 ("Material You") @materialdesign themes generated using the new Material Theme Builder! Saves a lot of time!
Image
David TerenTech Lead & Ruby and Rails Dev
It's one of the tools that enables me to create entirely reactive web, iOS and Android apps with little JS.
Image
Reza QorbaniCTO & Co-Founder at QualiaID
I didn’t know about Stylify! Looks amazing! I love feathers such as minify Class Names which is missing from Tailwind 👍.
Image
Arif UddinSoftware Developer at BitCode
Wish I know this library before. I can save my 1-month of work in our company, we did the mangling optimization for our product.
Image
Japheth Mutai
Well, I guess we all need to follow @stylifycss to reduce our #CSS related nerve attacks 😂😂.
Image
Muhi MasriFrontend Engineer
Just came across #stylifycss, which uses CSS-like selectors to generate optimized utility-first CSS dynamically. Excited to try it out!
Image
Yousuf IqbalFull Stack Developer
This is awesome. Almost zero learning curve 👍!
Image
Ahmad AlfyEngineering @robustastudio
It gives more freedom than the strictly confined design system in Tailwind.
Image
Ahmad TahirFullstack Dev
Wow this looks neat 💯. I'll be checking it out.
Image
Código de MarrasFrontend Developer
It's interesting, an alternative to having everything in a single file...
Image
Ahmed ZougariReact developer
StylifyCSS is like Tailwind framework but easier to learn and read.
Image
Jean-BaptisteCreator of Ardaria
Interesting project! Keep going guyz 💪
Image
Darryl Yeo
This make so much more sense than Tailwind.
Image
Ngmi
I'm notoriously bad with CSS, giving this a try 👾.
Image
Miles Pernicious
Looks pretty cool so far 🤩.
Image
Mubashar HashmatManager at Scorp
Extremely awesome 😎.
Image
Xavi
Awesome, I'll try it later.
Image
Lucas
Good job. I’ll give it a try !
Image
Shushant LakhyaniJust Ship It Hub
This looks cool!
Image
SibasishWeb Developer
@stylifycss = @tailwindcss - all the goodness of utility classes.
Image
Mukesh
Seems cool ✌️✌️✌️
Image
Paul⭐Bear
Very cool library!
Image
sam i am
That's nice!
Image
Musa Yazlık
Hmm. I like it. 😁
Image
Eze ChukwuemekaTech Support
I love this
Image
Mugiwara Superfly
Wow wow wow
Image
Rajesh KhadkaTech Lead & Ruby and Rails Dev
May be next tailwind css. 🙃
Image
G-WokWeb3 Developer
Looks cool
Image
Alfred ChadáChief Technical Officer
Nice work
Image
Ricardo AnayaFull Stack Developer
Cool!
Image
RyuseFrontend developer
Interesting
Image
Thiago TelesFullstack developer at Scriptcase
Nice
HideShow More Shoutouts

Showcase

Don't study frameworks. Focus on coding!

As a developer, you want to code your website easily, quickly, and without spending too much time in docs. Frameworks, CSS-in-JS libraries, and preprocessors have many great features, but they also make development more complex, forcing you to study syntax, randomly named selectors, and how to use different features (which you may forget after a week of holiday 🍹).

Stylify focuses on simplicity and uses CSS-like selectors that you already know. It's like writing pure CSS directly into the markup without the need to switch between files and figure out the names for selectors. If you know CSS, you know how to use Stylify. By trying Stylify, you will find that preprocessors and short selectors are unnecessary.

Image
Vladimír Macháček
Author of Stylify CSS
Webdev at Slevomat.cz

Material Theme Builder Integration Guide

Latest Blog Posts

Go ahead. Give it a try!

Try it now in the browser or at prepared Stack Blitz playgrounds for Vue, React, Next.js, Nuxt.js, Lit, Svelte and a other tools.