TailwindCSSv3正式版发布了,这是一个为JIT而生的版本,它移除了原先的AOT引擎,把JIT作为默认的引擎。接下来我们来看看它有哪些新的特性吧。
更强的即时编译引擎
更加强大的即时编译引擎,带来了巨大的性能提升的同时,也解锁了任意值(arbitraryvalues)和更强的变体(variant)功能。
举个例子,原先我们经常把多个修饰符样式这样写sm:top-[50px]sm:flex,现在我们可以把他们全部组合起来:sm:hover:active:disabled:opacity-75,而且这套机制是可以和任意值进行结合的。
这无疑让我们编写时更加的自由,加快原型页面的实现速度。当然适当的时间也完全可以进行
apply提取,从而抽出公共样式和减小domclass的长度。开箱即用的颜色
总的来说,就是内置颜色变多了,而且结合jit引擎,也让tailwindCSS配合CSSvariables使用更加的简单。详见customizing-colors.
有颜色的阴影
现在阴影也有颜色了!
现在颜色的CSS变量使用--tw-shadow-color:rgb(/0.5);来表示了,写法就是shadow-cyan-/50前面代表使用的颜色,后面代表透明度,还是很方便的。
ScrollsnapAPI
这个是和更加精准的操控滚动体验有关的,笔者不是很懂,实际在项目中也没用过。
文字排版
这个columns是一个CSS的排版属性,它作用在这样一个场景,当一个dom内有大量的文字,我们可以使用这个属性来控制这些文字显示的列数,并自定义他们的宽度。
原先我们要达成这样的目的,可以在js里分割这些文字,把他们放入不同的dom内,再进行CSS排版,总的来说这个特性还是挺方便的,但是使用场景可能不是那么多。
覆盖原生控件样式
我们知道,像浏览器对一些标签,有默认的样式和行为,比如inputtype="file"/,audio等等,现在tailwind也内置了一些属性和修饰符,来方便的覆盖控件们的默认样式了。
打印修饰符
divarticleclass="print:hidden"密码:,打印的时候不要显示!/articledivclass="hiddenprint:block"机密信息无法打印!/div/div
这个例子简短的说明了一切,本质是依靠
mediaprint来实现的。容器长宽比
这个长宽比之前已经用的很多了,还有很多的hackway。比如padding-top这类。现在tailwind终于加入了进来,同时在jit模式下使用非常方便,例如aspect-[4/3]就是一个4:3的容器。
更多的下划线样式
这个可能做文本编辑器比较实用吧,一般用的比较少。
文字显示方向修饰符
这个用的也不是特别多,现代人一般都是从左开始阅读到右边的。
中国的古文好像都是从右到左,从上到下阅读的。当我们穿越回古代,给古人们开发文档管理系统时,这个属性会非常有用。
横屏竖屏修饰符
landscape(横屏)
portrait(竖屏)
本质又是媒体查询
media(orientation:portrait)和media(orientation:landscape),移动端用的比较多。强大的任意属性
现在不合法的属性,也可以被修饰符,组合起来使用了。
divclass="[mask-type:luminance]hover:[mask-type:alpha]"!--...--/div
PlayCDN
这个CDN真的是一个大亮点啊!没想到CDN还能这么玩,这里必须展示一下它的配置:
!doctypehtmlhtmlheadmetacharset="UTF-8"metaname="viewport"content="width=device-width,initial-scale=1.0"scriptsrc="