当前位置: 首页 > Web前端 > vue.js

Fower:一个在Vue和React中方便使用的CSSinJS库

时间:2023-03-31 18:32:32 vue.js

已经一年多没写文章了。今天给大家介绍一个断断续续花了半年时间开发的CSS项目:Fower。什么是功率?Fower是一个样式工具库,可让您高效地开发UI。目标是让编写CSS不再痛苦。Fower的核心特性是Atomic/utility-first、TypeSafe和CSSinJS。非常注重开发体验,让您快速愉快的开发界面。Fower是框架无关的,你可以在React、Vue、Reactnative、小程序等任何JavaScript项目中使用它。项目背景一年前,我的团队同时开发Web、Reactnative和小程序项目时间。在这三类项目中,我们使用不同的样式方案:在Web项目中,我们使用Styed-component;在Reactnative项目中,我们使用Reactnative自带的StyleSheet.create;在小程序项目中,我们使用Taro开发,风格方案为Sass;三种风格的写法不同,这让我们在写风格的时候特别痛苦:开发体验差,开发同样的界面,却需要不同的写法,需要不断切换习惯和思维工具chain太宽太复杂,Styled-component、Sass、StyleSheet.create……开发效率低,重复代码多。第一)CSS框架,在我的推动下,我们团队开始在Web项目中使用Tailwindcss。使用一段时间后,我们发现开发体验非常好,开发效率也非常高,特别适合像我们这样需要高度定制化界面的项目。遗憾的是,Tailwindcss不能直接用于Reactnative、小程序等非Web项目。我们团队的成员喜欢Tailwindcss风格。所以我创建了Fower,希望统一所有项目写样式的方式。和Tailwindcss类似,我们也使用了utility-first的概念,但是和Fower有点不同。Fower使用Atomic风格的道具来编写风格。代码如下:SteveJobs

AppleInc.联合创始人
核心理念Fower固执己见,我们基于以下理念创建它:效用至上,这种方式让我们更快速地编写样式,与其他“实用优先”的CSS框架不同,Fower使用“Atomicstyleprop”编写样式Typesafe,我们团队是TypeScript的重度用户,Typesafe带来的智能提示让我们很少阅读FullFramework-agnostic,这是我们创建Fower的主要原因之一,Fower允许你在React、Vue、React中用JS编写样式CSS以一贯的方式原生,我们讨厌在单独的CSS文件中编写CSS,纯CSS有很多缺点,例如:无法访问JS变量;容易出现风格冲突;容易死代码...我们喜欢用JS(JS中的CSS)写样式,更适合组件时代使用。事实上,Fower不仅仅是JS中的CSS,它也是HTML中的CSS。一些很酷的特性Fower有很多特性,比如原子类、响应式、伪类、主题、设计系统、JS中的CSS...,我认为这些是Fower的基本功能,而不是特殊特性。Fower有几个我认为很酷的功能:1.LayoutToolkit如果我必须在Fower中选择一个最喜欢的功能,那毫无疑问是LayoutToolkit。Fower提供了一个强大的基于Flexdiv的布局工具。通过调整布局的方向(Direction)和对齐方式(Alignment),可以实现大部分的布局,使布局工作更加轻松。与传统的flex布局相比,Fower的布局更加抽象和流线化。Fower的布局抽象为十种原子对齐方式:toCenter、toCenterX、toCenterY、toLeft、toTop、toRight、toBottom、toBetween、toEvenly、toAround。使用它时,您可以忘记传统的flex布局。flex布局中的主轴和横轴的概念,你只要有方向感就可以了。用法如下:
更详细的用法,请参见文档:LayoutToolkitd。2.Predictablestyle我个人喜欢的另一个特点是Predictablestyle。在传统的CSS中,我认为样式是不可预测的。你为什么这么说?这是一个例子。我们有以下CSS:.red{color:red;}.blue{color:blue;}有以下html,css类名称分别为“redblue”和“bluered”:
FowerFower
你能确定文字的颜色吗?很难确定,如果不看上面的CSS代码,是不能直接判断文字颜色的,只能通过开发者工具调试才知道。在Flower中,你可以很容易的判断出下面文字的颜色:有什么用?除了让我们更容易判断样式结果,我觉得最有用的是:当我们抽象出一个可复用的组件,比如一个普通的Button,调用者可以方便的覆盖组件的默认样式,比如这个代码可以安全地设置背景颜色。更详细的用法请看文档:Predictablestyle。3.ColorAssistantFower的另一个很酷的功能是ColorAssistant,它可以让你用一些后缀来操作颜色。使用后缀--D{0-100}使颜色变暗:normaldarken变暗使用--L{0-100}后缀使颜色变浅:normal透明化透明化使用--T{0-100}后缀增加颜色的透明度:普通透明化透明化使用--O{0-100}后缀增加颜色的不透明度:0.4不透明度为0.6更详细的用法请看文档:Colorhelper4。可组合后缀Fower提供了一些后缀来快速处理样式,例如:--hover、--focus、--sm、--dark、--T{amount}。..Flower的另一个很酷的特性是可组合的后缀。可以组合一些后缀,顺序任意:下面的代码等同于上面的代码:最后,如果想进一步了解Fower,可以访问项目官网和官方文档。项目地址:https://github.com/forsigner/fower项目文档:https://fower.vercel.app