StylifyCSS.com - 更快地编写CSS
更快地编写CSS
- 零学习曲线。不要把时间浪费在研究CSS框架上
- 减少HTML/CSS文件之间的切换
- 自动和极度调谐的CSS优化。
- 简单的CSS 布局/页面的捆绑式分割。
- 轻松地可配置和可扩展
- 无缝的安装。
- 迁移指南来自其他框架和库的迁移指南
- 预备、复制和粘贴、无头组件等
<!--
Edit Me 😎!
Write selectors as CSS property:value
Use _ for a space and ^ for a quote
-->
<img src="/images/p1.jpg" class="
height:120px
width:auto
border-radius:4px
transition:.3s
hover:scale:1.1
">
<!--Edit Me 😎!Write selectors as CSS property:valueUse _ for a space and ^ for a quote--><img src="/images/p1.jpg" class="height:120pxwidth:autoborder-radius:4pxtransition:.3shover:scale:1.1">
.hover\:scale\:1\.1:hover{scale: 1.1}.height\:120px{height: 120px}.width\:auto{width: auto}.border-radius\:4px{border-radius: 4px}.transition\:\.3s{transition: .3s}
.vo:hover{scale: 1.1}.vp{height: 120px}.cw{width: auto}.z{border-radius: 4px}.dr{transition: .3s}
<!--Edit Me 😎!Write selectors as CSS property:valueUse _ for a space and ^ for a quote--><img src="/images/p1.jpg" class="vpcwzdrvo">
<!--
stylify-components
'image': `
height:100px
width:auto
border-radius:4px
transition:.3s
margin:0_8px
hover:scale:1.1
`
/stylify-components
-->
<img src="/images/p1.jpg" class="image">
<img src="/images/p2.jpg" class="image">
<!--stylify-components'image': `height:100pxwidth:autoborder-radius:4pxtransition:.3smargin:0_8pxhover:scale:1.1`/stylify-components--><img src="/images/p1.jpg" class="image"><img src="/images/p2.jpg" class="image">
.image:hover{scale: 1.1}.image{height: 100px}.image{width: auto}.image{border-radius: 4px}.image{transition: .3s}.image{margin: 0 8px}
.vq:hover{scale: 1.1}.vq{height: 100px}.vq{width: auto}.vq{border-radius: 4px}.vq{transition: .3s}.vq{margin: 0 8px}
<!--stylify-components'image': `height:100pxwidth:autoborder-radius:4pxtransition:.3smargin:0_8pxhover:scale:1.1`/stylify-components--><img src="/images/p1.jpg" class="vq"><img src="/images/p2.jpg" class="vq">
<!--
stylify-customSelectors
img: `
height:100px
width:auto
border-radius:4px
transition:.3s
hover:scale:1.1
`
/stylify-customSelectors
-->
<img src="/images/p3.jpg" class="[&+img]{margin-left:8px}">
<img src="/images/p4.jpg">
<!--stylify-customSelectorsimg: `height:100pxwidth:autoborder-radius:4pxtransition:.3shover:scale:1.1`/stylify-customSelectors--><img src="/images/p3.jpg" class="[&+img]{margin-left:8px}"><img src="/images/p4.jpg">
img:hover{scale: 1.1}img{height: 100px}img{width: auto}img{border-radius: 4px}img{transition: .3s}.\[\&\+img\]\{margin-left\:8px\}+img{margin-left: 8px}
img:hover{scale: 1.1}img{height: 100px}img{width: auto}img{border-radius: 4px}img{transition: .3s}.vs+img{margin-left: 8px}
<!--stylify-customSelectorsimg: `height:100pxwidth:autoborder-radius:4pxtransition:.3shover:scale:1.1`/stylify-customSelectors--><img src="/images/p3.jpg" class="vs"><img src="/images/p4.jpg">
<!--
stylify-variables
height: '120px',
radius: '4px',
scale: '1.1'
/stylify-variables
-->
<img src="/images/p3.jpg" class="
width:auto
transition:.3s
height:$height
border-radius:$radius
hover:scale:$scale
">
<!--stylify-variablesheight: '120px',radius: '4px',scale: '1.1'/stylify-variables--><img src="/images/p3.jpg" class="width:autotransition:.3sheight:$heightborder-radius:$radiushover:scale:$scale">
:root {--height: 120px;--radius: 4px;--scale: 1.1;}.hover\:scale\:\$scale:hover{scale: var(--scale)}.width\:auto{width: auto}.transition\:\.3s{transition: .3s}.height\:\$height{height: var(--height)}.border-radius\:\$radius{border-radius: var(--radius)}
:root {--height: 120px;--radius: 4px;--scale: 1.1;}.vt:hover{scale: var(--scale)}.cw{width: auto}.dr{transition: .3s}.vu{height: var(--height)}.vv{border-radius: var(--radius)}
<!--stylify-variablesheight: '120px',radius: '4px',scale: '1.1'/stylify-variables--><img src="/images/p3.jpg" class="cwdrvuvvvt">
<!--
Screens can be static: sm, lg, md
Dynamic: miw640px, rng400px-800px
Combined using logical operands
- lg&&landscape
- sm||lg
-->
<img src="/images/p2.jpg" width="120" height="120" class="
object-fit:cover
border-radius:4px
sm:border-radius:12px
minw600px:border-radius:24px
lg||landscape:border-radius:120px
">
<!--Screens can be static: sm, lg, mdDynamic: miw640px, rng400px-800pxCombined using logical operands- lg&&landscape- sm||lg--><img src="/images/p2.jpg" width="120" height="120" class="object-fit:coverborder-radius:4pxsm:border-radius:12pxminw600px:border-radius:24pxlg||landscape:border-radius:120px">
.object-fit\:cover{object-fit: cover}.border-radius\:4px{border-radius: 4px}@media (min-width: 600px) {.minw600px\:border-radius\:24px{border-radius: 24px}}@media (min-width: 640px) {.sm\:border-radius\:12px{border-radius: 12px}}@media (min-width: 1024px), (orientation: landscape) {.lg\|\|landscape\:border-radius\:120px{border-radius: 120px}}
.ch{object-fit: cover}.z{border-radius: 4px}@media (min-width: 600px) {.vx{border-radius: 24px}}@media (min-width: 640px) {.vw{border-radius: 12px}}@media (min-width: 1024px), (orientation: landscape) {.vy{border-radius: 120px}}
<!--Screens can be static: sm, lg, mdDynamic: miw640px, rng400px-800pxCombined using logical operands- lg&&landscape- sm||lg--><img src="/images/p2.jpg" width="120" height="120" class="chzvwvxvy">
/*
https://stylifycss.com/en/docs/stylify/compiler#helpers
Helpers can be used within selectors or macros.
For example color:lighten(#000,10) is helper
for lightening color.
You can define your own easily within helpers option.
*/
new Compiler({
helpers: {
textPropertyType(value) {
if (value === 'bold') {
return 'font-weight';
} else if (value === 'italic') {
return 'font-style'
} else if (value.includes('$')) {
return 'color';
}
},
},
macros: {
'text:(\\S+)'(match) {
const property = this.helpers.textPropertyType(
match.getCapture(0)
);
return {[property]: match.getCapture(0)}
}
}
});
为什么是Stylify而不是纯CSS或Inline Styles?
曩昔的Stylify CSS

Lukeshiru Webdev 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!

Yoav Ganbar Engineer at Builder.io and QwikDev
Write plain CSS just in a class?
Fair enough, I'm intrigued.
Fair enough, I'm intrigued.

蝉丸ファン Core committer of @webpack
It's similar to the Tailwind but more readable.

Phan An @vuejs core team member
This looks super interesting!

One of the Top Front-End Tools Of 2022 By Louis Lazaris

One of the Top Development Languages on Product Hunt

Mentioned in TLDR.tech newsletter

Mentioned in Codrops newsletter

Mentioned in This Week In React newsletter By Sébastien Lorber
Mentioned by Remix.run maintainer as a tool for generating CSS for Remix By Chance Strickland

Mentioned in Web Tools Weekly as one of the Top 30 Tools of 2022
One of the Best Tailwind CSS Alternatives for 2023

Mentioned as one of the Top 7 Web dev tools that will make your life EASY By Pritesh Kiri
Mentioned in Svelte newsletter By Dani Sandoval

Mentioned in Symfony newsletter By Javier Eguiluz

Mentioned in Jamstacked newsletter By Brian Rinaldi

Mentioned in Feature Newsletter By Gabriel Nunes

Mentioned in JSter newsletter as a tool for Writing CSS

Jorge Baumann.js Full 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

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! 👏

Posandu Mapa Fullstack dev
I like how Stylify compresses the utility classes. A good Tailwind CSS alternative.

Tom Ravn Webdeveloper & 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.😆

Reegan Rajasekar Full 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.

Finn Guha Webdev 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.

David Mario Licla Front-End dev at Forma
🤯 Did you know that there is an alternative to TailwindCSS but only using CSS properties? Look it's called Stylify!

Toheeb Ogunbiyi Web-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.

Rin Full-Stack Developer
Immediately interested when I read features on documentation, give a shot with Astro and absolutely love it.

Michael Andreuzza UI 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.

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!

David Teren Tech 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.

Reza Qorbani CTO & 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 👍.

Arif Uddin Software 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.

Japheth Mutai
Well, I guess we all need to follow @stylifycss to reduce our #CSS related nerve attacks 😂😂.

Muhi Masri Frontend Engineer
Just came across #stylifycss, which uses CSS-like selectors to generate optimized utility-first CSS dynamically. Excited to try it out!

Yousuf Iqbal Full Stack Developer
This is awesome. Almost zero learning curve 👍!

Ahmad Alfy Engineering @robustastudio
It gives more freedom than the strictly confined design system in Tailwind.

Ahmad Tahir Fullstack Dev
Wow this looks neat 💯. I'll be checking it out.

Código de Marras Frontend Developer
It's interesting, an alternative to having everything in a single file...

Ahmed Zougari React developer
StylifyCSS is like Tailwind framework but easier to learn and read.

Jean-Baptiste Creator of Ardaria
Interesting project! Keep going guyz 💪

Darryl Yeo
This make so much more sense than Tailwind.

Ngmi
I'm notoriously bad with CSS, giving this a try 👾.

Miles Pernicious
Looks pretty cool so far 🤩.

Mubashar Hashmat Manager at Scorp
Extremely awesome 😎.

Xavi
Awesome, I'll try it later.

Lucas
Good job. I’ll give it a try !

Shushant Lakhyani Just Ship It Hub
This looks cool!

Sibasish Web Developer
@stylifycss = @tailwindcss - all the goodness of utility classes.

Mukesh
Seems cool ✌️✌️✌️

Paul⭐Bear
Very cool library!

sam i am
That's nice!

Musa Yazlık
Hmm. I like it. 😁

Eze Chukwuemeka Tech Support
I love this

Mugiwara Superfly
Wow wow wow

Rajesh Khadka Tech Lead & Ruby and Rails Dev
May be next tailwind css. 🙃

G-Wok Web3 Developer
Looks cool

Alfred Chadá Chief Technical Officer
Nice work

Ricardo Anaya Full Stack Developer
Cool!

Ryuse Frontend developer
Interesting

Thiago Teles Fullstack developer at Scriptcase
Nice
展示
不要研究框架。专注于编码!
预备的无头组件
复制&粘贴,无风格的组件,灵感来自于Material Design V3。
零学习曲线和更快的编码
使用类似于CSS的选择器,而不是编写CSS并在HTML和CSS文件之间切换。语法与CSS相似。使用_
代替空格,使用^
代替引用。
<h1 class="font-size:24px color:blue hover:color:lightblue lg:font-size:32px">
Hello World!🎉
</h1>
自动和极度调整的CSS和HTML优化
CSS被动态地生成到CSS文件中,它被优化,HTML被处理。没有未使用的CSS被生成。不需要清除CSS。不需要创建CSS文件。由于连接选择器的内部算法,几乎没有重复的生成。
<!-- 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 }
}
简单的CSS捆绑拆分
CSS捆绑可以被分割成多个文件。这比手动组合CSS更有效,而且还能使CSS输出更小。
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' }
];
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)}
}
},
}
在文件中配置变量、组件和全局选择器,在它们被使用的地方进行配置
组件、变量和全局选择器可以被定义在一个文件中,在那里它们被使用。这将组件的CSS和HTML封装到一个文件中。
<!--
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>
// 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`;
});
材料主题生成器集成指南
最新的博客文章

2023年2月24日
更快的React应用编码: 如何从Emotion CSS-in-JS迁移到Stylify Utility-First CSS。
想更快地设计你的React应用程序吗?了解如何轻松地从Emotion CSS-in-JS迁移到Stylify utility-first CSS,以便更好地开发React。

2023年2月16日
如何毫不费力地从Styled Components CSS-in-JS迁移到Stylify Utility-First CSS以获得更好的React开发。
了解如何轻松迁移到Stylify CSS,以便更好地开发React。

2023年2月2日
实用优先的CSS的最佳实践
了解如何有效地使用效用优先的CSS来为你的网站设计风格,同时避免臃肿的模板和维护困难。
去吧。试一试吧!
现在就在你的浏览器中或在Stack Blitz准备好的Vue、React、Next.js、Nuxt.js、Lit、Svelte和其他工具的游乐场中试试Stylify。