Tailwind 基础类
Tailwind 提供了大量开箱即用的基础类,将它们添加到 HTML 元素类名中,可以在最终的样式表中编译出相应的样式
布局
Aspect Ratio
Aspect Ratio 基础类设置元素的宽高比例,一般用于设置图片 <img>
或 视频 <video>
元素
Tip
支持使用任意值 aspect-[4/3]
Tip
可以在 Tailwind 的配置文件的 theme.aspectRatio
或 ``theme.extend.aspectRatio` 进行定制
Container
Container 基础类根据页面所处的断点设置元素/容器的宽度最大值
该基础类默认并不会将元素/容器居中,可以在 theme.container
属性中进行开启
module.exports = {
theme: {
container: {
center: true,
},
},
}
如果希望在元素/容器两侧添加水平内边距,可以在 theme.container
属性中进行设置
module.exports = {
theme: {
container: {
padding: '2rem',
},
},
}
也可以为每个断点下的容器添加不同的内边距
module.exports = {
theme: {
container: {
padding: {
DEFAULT: '1rem',
sm: '2rem',
lg: '4rem',
xl: '5rem',
'2xl': '6rem',
},
},
},
};
Columns
Columns 基础类为元素/容器设置列布局,可以实现容器内子元素类似 grid 布局的多列的排布,但它更简便,可以方便地实现类似杂志多列段落的排版布局。
由于该基础类对应的样式属性是一个简写属性,所以该基础类分为两种类型,前缀 columns-
接着的是整数,表示列数,如 columns-3
,即容器应该分为 3 列;前缀 columns-
接着的是表示每一列的宽度的值,如 columns-xs
,即表示每一列的宽度是 20rem
,列数会基于容器的总宽度自动计算出来。
Tip
可以设置列间隙,使用 Gap 基础类,它会为各列之间添加水平间隙
Tip
支持使用任意值 columns-[10rem]
Tip
可以在 Tailwind 的配置文件的 theme.columns
或 theme.extend.columns
进行定制
Break
Break After、Break Before、Before Inside 这三个基础类,控制元素在打印时的前后或内部是否要换页
Box Decoration Break
Box Decoration Break 基础类用以定义当元素跨多行、多列、多页时,元素的片段(每一行、每一列、每一页)应如何呈现
- 基础类
.box-decoration-clone
生成的样式是box-decoration-break: clone;
每一行看作一个独立元素,它们的样式都一样 clone 原样式 - 基础类
.box-decoration-slice
生成的样式是box-decoration-break: slice;
连续多行作为一个连续整体,每一行作为其中一个片段
具体效果可以查看这个视频教程
Box Sizing
Box Sizing 基础类设置元素的盒子模型
Tip
Tailwind 在重置样式 preflight 中将所有元素设置为奇异盒子模型,其样式为 box-sizing: border-box;
Display
Display 基础类用于设置元素的 display
样式属性
flow-root
基础类用于为元素(模拟根元素)创建 BFC 以包含内部所有元素,可用于清除浮动contents
基础类将元素设置为「影子」容器,其子元素就像是其父元素的直接子元素一样- 对于表格布局,Tailwind 提供了多个相关的基础类
table
、.table-row
、.table-cell
、.table-caption
、.table-column
、.table-column-group
、.table-header-group
、.table-row-group
和.table-footer-group
可以创建一个响应式的表格
<div class="table w-full ...">
<div class="table-header-group ...">
<div class="table-row">
<div class="table-cell text-left ...">Title</div>
<div class="table-cell text-left ...">Artist</div>
<div class="table-cell text-left ...">Year</div>
</div>
</div>
<div class="table-row-group">
<div class="table-row">
<div class="table-cell ...">Chocolate Starfish And The Hot Dog Flavored Water</div>
<div class="table-cell ...">Limp Bizkit</div>
<div class="table-cell ...">2000</div>
</div>
<div class="table-row">
<div class="table-cell ...">Significant Other</div>
<div class="table-cell ...">Limp Bizkit</div>
<div class="table-cell ...">1999</div>
</div>
</div>
</div>
hidden
基础类所对应的样式是display: none
它会将元素从页面移除,如果只希望隐藏元素,可以使用.invisible
基础类
Isolation
Isolation 基础类用于控制元素是否必须创建一个新的层叠上下文,这会影响背景混合的效果。
Object
Object Fit 基础类用于控制可替换元素,如 <img>
元素,其内容应该如何适应该元素的框(元素的盒子模型限制了宽高时)。
.object-contain
基础类将内容进行保持其宽高比的缩放,以完整地显示在元素的盒子内.object-cover
基础类将内容进行保持其宽高比的缩放,以布满元素的盒子,因此可能对内容进行裁剪.object-fill
基础类可以将内容进行拉伸的缩放,以布满元素的盒子.object-none
基础类将内容保持其原有的尺寸来填充元素的盒子.object-scale-down
基础类将基于内容在object-fit: none
或object-fit: contain
两种情况下,以尺寸较小的情况来填充元素的盒子
Object Position 基础类配合以上的基础类使用,用以决定内容缩放后采用哪个部分来填充元素的盒子,一般用 .object.center
基础类,将内容的中间与元素的盒子中间重叠放置
Tip
Tailwind 默认提供了 9 种位置放置方式,可以在 Tailwind 的配置文件的 theme.extend.objectPosition
属性中进行定制
Tip
支持使用任意值 object-[center_bottom]
Overflow
Overflow 基础类用于控制当容器内的元素大于容器的尺寸时,应该如何处理。
Overscroll
Overscroll Behavior 基础类用以控制当可滚动区域到达底部时,用户如果继续滚动/过度滚动,页面(也可滚动时)的响应效果
移动端浏览器倾向于提供一种「触底」效果,甚至进行页面刷新。你可能也发现了,当对话框中含有可滚动内容时,一旦滚动至对话框的边界,对话框下方的页面内容也开始滚动了——这被称为「滚动链」。 参考:overscroll-behavior
- 在某些情况下我们不想在过度滚动而触发页面随之滚动,可以使用
.overscroll-none
基础类来去除不需要的滚动链 - 但是在避免过度滚动引起页面随之滚动的同时,还想保留容器内的触底刷新或触底反弹的效果,可以使用
.overscroll-contain
基础类
Position
Position 基础类用于设置元素的绝对定位样式属性
一般配置 Top/Right/Bottom/Left 基础类使用,以设置元素采用绝对定位时的位置
.inset-0
基础类表示的样式csstop: 0px; right: 0px; bottom: 0px; left: 0px;
- 支持负值
.-left-4
Tip
Top/Right/Bottom/Left/Inset 基础类继承 Spacing 基础类以及 auto
和 full
,可以间接在 Tailwind 配置文件的 theme.spacing
或 theme.extend.spacing
属性中定制
module.exports = {
theme: {
extend: {
spacing: {
'3px': '3px',
}
}
}
}
也可以直接在 theme.inset
或 theme.extend.inset
属性中定制
module.exports = {
theme: {
extend: {
inset: {
'3px': '3px',
}
}
}
}
Tip
Top/Right/Bottom/Left/Inset 基础类支持任意值 top-[3px]
Visibility
Visibility 基础类用以控制元素是否在页面可见
Tip
如果使用 .invisible
基础类,则元素会隐藏,但是它依然在页面保留占位空间。如果想完全隐藏元素,将从页面移除该 DOM 元素,可以使用 .hidden
基础类
Z-index
Z-index 基础类用以控制元素的叠放顺序
Tip
支持在其前面添加 -
来设置为负值 -z-50
Tip
Tailwind 提供了 6 个不同值的 Z-index 基础类,和一个 .z-auto
基础类,可以在 Tailwind 配置文件的 theme.zIndex
或 theme.extend.zIndex
属性中定制
module.exports = {
theme: {
extend: {
zIndex: {
'100': '100',
}
}
}
}
Tip
支持使用任意值 z-[100]
Flexbox
Tailwind 针对 Flex 布局提供了多种基础类,以设置该布局中的不同元素的样式:
- Flex Basis 基础类用于设置 Flex 项目(子元素)的初始尺寸
💡 该基础类继承了 Spacing 基础类以及一系列的百分比的值,可以间接在 Tailwind 配置文件的
theme.spacing
或theme.extend.spacing
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { spacing: { '112': '28rem', '128': '32rem', } } } }
也可以在 Tailwind 配置文档的theme.flexBasis
或theme.extend.flexBasis
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { flexBasis: { '1/7': '14.2857143%', '2/7': '28.5714286%', '3/7': '42.8571429%', '4/7': '57.1428571%', '5/7': '71.4285714%', '6/7': '85.7142857%', } } } }
Tip
支持任意值
flex-basis-[14.2857143%]
- Flex Direction 基础类用于设置 Flex 布局的方向
- Flex Wrap 基础类用于设置 Flex 项目过多时其换行行为
- Flex 基础类是设置简写属性
flex
的样式值Tip
可以在 Tailwind 配置文档的
theme.flex
或theme.extend.flex
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { flex: { '2': '2 2 0%' } } } }
Tip
支持任意值
flex-[2_2_0%]
- Flex Grow 基础类用于设置 Flex 项目伸长行为
Tip
可以在 Tailwind 配置文档的
theme.flexGrow
或theme.extend.flexGrow
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { flexGrow: { '2': 2 } } } }
Tip
支持任意值
grow-[2]
- Flex Shrink 基础类用于设置 Flex 项目的压缩行为
Tip
可以在 Tailwind 配置文档的
theme.flexShrink
或theme.extend.flexShrink
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { flexShrink: { '2': 2 } } } }
Tip
支持任意值
shrink-[2]
- Order 基础类 用于设置 Flex 项目的次序
Tip
可以在 Tailwind 配置文档的
theme.order
或theme.extend.order
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { order: { '13': '13' } } } }
Tip
支持任意值
order-[13]
- Justify Content 基础类用于设置 Flex 或 Grid 布局中项目在主轴的对齐方式
- Justify Items 基础类用于设置 Grid 布局的项目在水平方向的对齐方式
- Justify Self 基础类用于设置 Flex 或 Grid 布局的项目内部的子元素在主轴方向的对齐方式
- Align Content 基础类用于设置 Grid 布局中项目在垂直方向的对齐方式
- Align Items 基础类用于设置 Flex 布局的项目在次轴的对齐方式
- Align Self 基础类用于设置 Flex 或 Grid 布局的项目内部的子元素在次轴方向的对齐方式
- Place Content 基础类是一个简写属性,用于同时设置 Flex 或 Grid 布局中项目在主轴和次轴的对齐方式,项目作为一个整体来进行设置
- Place Items 基础类是一个简写属性,用于同时设置 Flex 或 Grid 布局中项目在主轴和次轴的对齐方式,项目在其网格中分别进行设置
- Place Self 基础类是一个简写属性,用于同时设置 Flex 或 Grid 布局的项目内部的子元素在主轴和次轴方向的对齐方式
Grid
Tailwind 针对 Grid 布局提供了多种基础类,以设置该布局中的不同元素的样式:
- Grid Template Columns 基础类 用于设置 Grid 容器中的列数量
Tip
Tailwind 默认提供了在 Grid 中最多创建 12 列的基础类,可以在 Tailwind 的配置文档的
theme.gridTemplateColumns
或theme.extend.gridTemplateColumns
中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { gridTemplateColumns: { // Simple 16 column grid '16': 'repeat(16, minmax(0, 1fr))', // Complex site-specific column configuration 'footer': '200px minmax(900px, 1fr) 100px', }, gridColumnStart: { '13': '13', '14': '14', '15': '15', '16': '16', '17': '17', }, gridColumnEnd: { '13': '13', '14': '14', '15': '15', '16': '16', '17': '17', } } } }
Tip
支持任意值
col-span-[span_16_/_span 16]
- Grid Column Start / End 基础类用于设置 Grid 项目横跨的列数,或者指定从哪一列开始,从哪一列结束
Tip
可以在 Tailwind 的配置文档的
theme
或theme.extend
下的gridColumn
、gridColumnStart
、gridColumnEnd
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { gridColumn: { 'span-16': 'span 16 / span 16', } } } }
Tip
支持任意值
grid-cols-[200px_minmax(900px,_1fr)_100px]
- Grid Template Rows 基础类用于设置 Grid 容器中的行数量
Tip
Tailwind 默认提供了在 Grid 中最多创建 6 行的基础类,可以在 Tailwind 的配置文档的
theme.gridTemplateRows
或theme.extend.gridTemplateRows
中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { gridTemplateRows: { // Simple 8 row grid '8': 'repeat(8, minmax(0, 1fr))', // Complex site-specific row configuration 'layout': '200px minmax(900px, 1fr) 100px', } } } }
Tip
支持任意值
grid-rows-[200px_minmax(900px,_1fr)_100px]
- Grid Row Start / End 基础类用于设置 Grid 项目横跨的行数,或者指定从哪一行开始,从哪一行结束
Tip
可以在 Tailwind 的配置文档的
theme
或theme.extend
下的gridRow
、gridRowStart
、gridRowEnd
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { gridRow: { 'span-16': 'span 16 / span 16', }, gridRowStart: { '8': '8', '9': '9', '10': '10', '11': '11', '12': '12', '13': '13', }, gridRowEnd: { '8': '8', '9': '9', '10': '10', '11': '11', '12': '12', '13': '13', } } } }
Tip
支持任意值
row-[span_16_/_span_16]
- Grid Auto Flow 基础类用于设置 Grid 中项目的布局方向
- Grid Auto Columns 基础类用于设置 Grid 布局中超出容器而隐式创建的网格的列宽
Tip
可以在 Tailwind 的配置文档的
theme.gridAutoColumns
或theme.extend.gridAutoColumns
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { gridAutoColumns: { '2fr': 'minmax(0, 2fr)', } } } }
Tip
支持任意值
auto-cols-[minmax(0,_2fr)]
- Grid Auto Rows 基础类用于设置 Grid 布局中超出容器而隐式创建的网格的行宽
Tip
可以在 Tailwind 的配置文档的
theme.gridAutoRows
或theme.extend.gridAutoRows
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { gridAutoRows: { '2fr': 'minmax(0, 2fr)', } } } }
Tip
支持任意值
auto-rows-[minmax(0,_2fr)]
- Gap 基础类用于设置 Grid 布局中网格之间的间隙
Tip
该基础类继承了 Spacing 基础类以及一系列的百分比的值,可以间接在 Tailwind 配置文件的
theme.spacing
或theme.extend.spacing
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { spacing: { '11': '2.75rem', } } } }
也可以在 Tailwind 配置文档的theme.gap
或theme.extend.gap
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { gap: { '11': '2.75rem', } } } }
Tip
支持任意值
gap-[2.75rem]
尺寸
间隔
- Padding 基础类用于设置元素的内边距
Tip
由于该基础类继承了 Spacing 基础类,所以可以间接在 Tailwind 配置文档的
theme.spacing
或theme.extend.spacing
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { spacing: { '5px': '5px', } } } }
也可以直接在 Tailwind 配置文档的theme.padding
或theme.extend.padding
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { padding: { '5px': '5px', } } } }
Tip
支持任意值
p-[5px]
- Margin 基础类用于设置元素的外边距
Tip
支持在基础类前添加
-
将外边距设置为负值Tip
由于该基础类继承了 Spacing 基础类,所以可以间接在 Tailwind 配置文档的
theme.spacing
或theme.extend.spacing
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { spacing: { '5px': '5px', } } } }
也可以直接在 Tailwind 配置文档的theme.padding
或theme.extend.padding
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { margin: { '5px': '5px', } } } }
Tip
支持任意值
m-[5px]
- Space Between 基础类用于设置元素之间的间隔(一般用于列表元素或 Flex 布局容器)
Tip
可以在基础类前添加
-
将间隔设置为负值Warning
该基础类实际上是为子元素(除第一个)添加外边距,并不能很好地处理复杂的布局,例如当元素过多,出现了换行,就可以造成对齐问题,此时应该使用 Grid 布局,然后用 Gap 基础类为元素添加间隔。
Tip
它不应该与 Divide Width 基础类一起使用,因为两者在视觉上功能目的是一样的,都是为了区分并列的多个元素,这两个基础类应该是二选一来使用。
Tip
由于该基础类继承了 Spacing 基础类,所以可以间接在 Tailwind 配置文档的
theme.spacing
或theme.extend.spacing
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { spacing: { '5px': '5px', } } } }
也可以直接在 Tailwind 配置文档的theme.space
或theme.extend.space
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { space: { '5px': '5px', } } } }
Tip
支持任意值
space-y-[5px]
宽度和高度
- Width 基础类用于设置元素的宽度,提供了基于绝对单位、百分比、内容长短、屏幕宽度的多种基础类
Tip
由于该基础类继承了 Spacing 基础类,所以可以间接在 Tailwind 配置文档的
theme.spacing
或theme.extend.spacing
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { spacing: { '128': '32rem', } } } }
也可以直接在 Tailwind 配置文档的theme.width
或theme.extend.width
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { width: { '128': '32rem', } } } }
Tip
支持任意值
w-[32rem]
- Min-Width 基础类用于限制元素宽度的最小值,提供了基于绝对单位、百分比、内容长短的多种基础类
Tip
可以在 Tailwind 配置文档的
theme.minWidth
或theme.extend.minWidth
属性中定制tailwind.config.jsjsmodule.exports = { theme: { minWidth: { '1/2': '50%', } } }
Tip
支持任意值
min-w-[50%]
- Max-Width 基础类用于限制元素宽度的最大值,提供了基于绝对单位、百分比、内容长短、断点、可读性的多种基础类
Tip
使用
.max-w-prose
基础类可以基于元素的字体大小,设置元素的最大宽度,以保证文本内容的可读性Tip
使用
.max-w-screen-{breakpoint}
基础类可以基于页面所在的不同断点,设置元素的最大宽度Tip
可以在 Tailwind 配置文档的
theme.maxWidth
或theme.extend.maxWidth
属性中定制tailwind.config.jsjsmodule.exports = { theme: { maxWidth: { '1/2': '50%', } } }
Tip
支持任意值
max-w-[50%]
- Height 基础类用于设置元素的高度,提供了基于绝对单位、百分比、内容长短、屏幕宽度的多种基础类
Tip
由于该基础类继承了 Spacing 基础类,所以可以间接在 Tailwind 配置文档的
theme.spacing
或theme.extend.spacing
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { spacing: { '128': '32rem', } } } }
也可以直接在 Tailwind 配置文档的theme.height
或theme.extend.height
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { height: { '128': '32rem', } } } }
Tip
支持任意值
h-[32rem]
- Min-Height 基础类用于限制元素高度的最小值,提供了基于绝对单位、百分比、内容长短的多种基础类
Tip
可以在 Tailwind 配置文档的
theme.minHeight
或theme.extend.minHeight
属性中定制tailwind.config.jsjsmodule.exports = { theme: { minHeight: { '1/2': '50%', } } }
Tip
支持任意值
min-h-[50%]
- Max-Height 基础类用于限制元素高度的最大值,提供了基于绝对单位、百分比、内容长短的多种基础类
Tip
由于该基础类继承了 Spacing 基础类,所以可以间接在 Tailwind 配置文档的
theme.spacing
或theme.extend.spacing
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { spacing: { '128': '32rem', } } } }
也可以在 Tailwind 配置文档的theme.maxHeight
或theme.extend.maxHeight
属性中定制tailwind.config.jsjsmodule.exports = { theme: { maxHeight: { '128': '32rem', } } }
Tip
支持任意值
max-h-[32rem]
字体
Font Family
Font Family 基础类用于设置元素文本内容所使用的字体家族
Tip
Tailwind 默认提供了三组跨浏览器可适用的字体家族,分别无衬线字体 sans-serif、衬线字体 serif、mono 字体 monospaced。可以在 Tailwind 配置文档的 theme.fontFamily
属性中定制,字体家族可以是数组,也可以是字符串(各个字体用逗号分隔)
module.exports = {
theme: {
fontFamily: {
'display': ['Oswald', ...], // 数组形式
'body': 'sans': 'Helvetica, Arial, sans-serif', // 字符串形式
}
}
}
Warning
如果字体家族中,字体命名有非法值,应该使用双引号包括,或是使用转义符
{
// Won't work:
'sans': ['Exo 2', ...],
// Add quotes:
'sans': ['"Exo 2"', ...],
// ...or escape the space:
'sans': ['Exo\\ 2', ...],
}
Tip
支持任意值 font-['Open_Sans']
Font Size
Font Size 基础类设置元素文本内容的字体大小
Tip
Tailwind 提供了 10 种字体尺寸的基础类,并为每种字体大小尺寸配上了合适的默认行号
Tip
可以在 Tailwind 配置文档的 theme.fontSize
属性中定制
module.exports = {
theme: {
fontSize: {
'tiny': '.875rem',
'base': '1rem',
}
}
}
可以为不同的字体大小同时提供「配套」的行高,以二元数组的形式,第二个元素就是默认行高。第二个元素也可以是对象,其中属性 lineHeight
指定行高,还可以设置属性 letterSpacing
以提供默认的字间距
module.exports = {
theme: {
fontSize: {
base: ['16px', '24px'],
sm: ['14px', {
lineHeight: '20px',
}],
'2xl': ['24px', {
letterSpacing: '-0.01em',
}],
'3xl': ['32px', {
letterSpacing: '-0.02em',
lineHeight: '40px',
}],
}
}
}
Tip
支持任意值 text-[14px]
Font Weight
Font Weight 基础类设置元素的文本内容的字体的字重
Tip
可以在 Tailwind 配置文档的 theme.fontWeight
属性中定制
module.exports = {
theme: {
fontWeight: {
'extra-light': 100,
semibold: 600,
'extra-bold': 800,
black: 900,
}
}
}
Tip
支持任意值 font-[1100]
Font Smoothing
Font Smoothing 基础类设置元素的文本内容的字体渲染时的平滑效果
Font Style
Font Style 基础类设置元素的文本内容是否为斜体
Font Variant Numeric
Font Variant Numeric 基础类用于设置数字、分数和序号标记的字形
Tip
这个基础类是可组合的,即可以同时应用多个基础类
<p class="ordinal slashed-zero tabular-nums ...">
1234567890
</p>
Warning
应用了基础类后,是否在页面起效果,还得看文本所使用的字体是否支持
Tip
使用 .normal-nums
基础类来重置所有字形设置
Letter Spacing
Letter Spacing 基础类用于设置字间距
Tip
可以在基础类前添加 -
将字间距设置为负值,但是这会降低文本的可读性
Tip
可以在 Tailwind 配置文档的 theme.letterSpacing
属性中定制
module.exports = {
theme: {
letterSpacing: {
tightest: '-.075em',
normal: '0',
wide: '.025em',
widest: '.25em',
}
}
}
Tip
支持任意值 tracking-[.25em]
Line Height
Line Height 基础类用于设置行高,提供了绝对行高和相对行高
Tip
Tailwind 对于所提供的每一个默认字体大小都设置了配套的行高,可以再使用 Line Height 基础类来覆盖它
Tip
可以在 Tailwind 配置文档的 theme.lineHeight
属性中定制
module.exports = {
theme: {
extend: {
lineHeight: {
'extra-loose': '2.5',
'12': '3rem',
}
}
}
}
Tip
支持任意值 leading-[3rem]
Text Alignment
Text Alignment 基础类用以设置段落文本的对齐方式
Text Color
Text Color 基础类用以设置字体颜色
Tip
Tailwind 默认提供的字体颜色基础类,都支持在其后添加表示透明度百分比的数值(与 Opacity 基础类所匹配) ,并用 /
分隔,也可以使用任意值 text-blue-600/[.06]
<!-- 设置字体颜色透明度为 75% -->
<p class="text-blue-600/75">The quick brown fox...</p>
<!-- 设置字体颜色透明度为 6% -->
<p class="text-blue-600/[.06]">The quick brown fox...</p>
Tip
由于该基础类继承了 Color 基础类,所以可以间接在 Tailwind 配置文档的 theme.colors
或 theme.extend.colors
属性中定制
module.exports = {
theme: {
extend: {
colors: {
'regal-blue': '#243c5a',
},
}
}
}
也可以直接在 Tailwind 配置文档的 theme.textColor
或 theme.extend.textColor
属性中定制
Tip
支持任意值 text-[#50d71e]
Text Decoration
- Text Decoration 基础类用于设置文本的装饰线类型,包括
.underline
下划线、.overline
上划线、.line-through
删除线、.no-underline
无装饰线 - Text Decoration Color 基础类用于设置文本装饰线的颜色
Tip
Tailwind 默认提供的装饰线颜色基础类,都支持在其后添加表示透明度百分比的数值(与 Opacity 基础类所匹配) ,并用
/
分隔,也可以使用任意值text-blue-600/[.06]
Tip
由于该基础类继承了 Color 基础类,所以可以间接在 Tailwind 配置文档的
theme.colors
或theme.extend.colors
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { colors: { 'regal-blue': '#243c5a', }, } } }
也可以直接在 Tailwind 配置文档的theme.textDecorationColor
或theme.extend.textDecorationColor
属性中定制Tip
支持任意值
decoration-[#50d71e]
- Text Decoration Style 基础类用于设置装饰线的样式
- Text Decoration Thickness 基础类用于设置装饰线的粗细
Tip
可以在 Tailwind 配置文档的
theme.textDecorationThickness
或theme.extend.textDecorationThickness
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { textDecorationThickness: { 3: '3px', } } } }
Tip
支持任意值
decoration-[3px]
- Text Underline Offset 基础类用于设置下划线的偏移值
Tip
可以在 Tailwind 配置文档的
theme.textUnderlineOffset
或theme.extend.textUnderlineOffset
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { textUnderlineOffset: { 3: '3px', } } } }
Tip
支持任意值
underline-offset-[3px]
Text Transform
Text Transform 基础类用于设置文本格式转换,包括 .uppercase
全大写、.lowercase
全小写、.capitalize
首字母大写、.normal-case
无转换
Text Overflow
Text Overflow 基础类用于设置当文本过长时的处理方式,包括 .truncate
只显示一行,其他截短并在最后添加 ...
省略号、text-ellipsis
对过长的单词截短,并在其后添加 ...
省略号、.clip
直接截短
Text Indent
Text Indent 基础类用于设置段落首行的缩进
Tip
可以在基础类前添加 -
将其设置为负值
Tip
由于该基础类继承了 Spacing 基础类,所以可以间接在 Tailwind 配置文档的 theme.spacing
或 theme.extend.spacing
属性中定制
module.exports = {
theme: {
extend: {
spacing: {
'128': '32rem',
}
}
}
}
也可以直接在 Tailwind 配置文档的 theme.textIndent
或 theme.extend.textIndent
属性中定制
module.exports = {
theme: {
extend: {
textIndent: {
'128': '32rem',
}
}
}
}
Tip
支持任意值 indent-[50%]
Vertical Alignment
Vertical Alignment 基础类用于设置字体在垂直方向的对齐方式
Whitespace
Whitespace 基础类用于设置元素的文本内的空格(包含换行)的处理方式
Word Break
Word Break 基础类用于设置单词过长时的处理方式
背景
Background Image
Background Image 基础类用以设置背景图
Tip
Tailwind 默认所提供的基础类都是假设背景为线性渐变色,用于设定背景渐变色的方向 .bg-gradient-{direction}
。可以在 Tailwind 配置文档的 theme.backgroundImage
或 theme.extend.backgroundImage
属性中定制,以设定背景为特定的图片
module.exports = {
theme: {
extend: {
backgroundImage: {
'hero-pattern': "url('/img/hero-pattern.svg')",
'footer-texture': "url('/img/footer-texture.png')",
}
}
}
}
Tip
支持任意值 bg-[url('/img/hero-pattern.svg')]
如果背景设定的是渐变色,Tailwind 还提供了 Gradient Color Stops 基础类用于指定不同渐变阶段 from-{color}
开始、via-{color}
中间、to-{color}
结束的具体颜色。如果 to-{color}
结束颜色没有指定,则默认为透明。
Tip
由于该基础类继承了 Color 基础类,所以可以间接在 Tailwind 配置文档的 theme.colors
或 theme.extend.colors
属性中定制
module.exports = {
theme: {
extend: {
colors: {
'regal-blue': '#243c5a',
},
}
}
}
也可以直接在 Tailwind 配置文档的 theme.gradientColorStops
或 theme.extend.gradientColorStops
属性中定制
Tip
支持任意值 from-[#243c5a]
Background Size
Background Size 基础类用于设置背景图填充容器的方式,提供了 2 个基础类,分别是 .bg-auto
以图片原始大小来填充容器、.bg-contain
将图片进行保持宽高比的缩放,以将图片完整地包含在容器内(可能无法完全填满容器)、.bg-cover
将图片进行保持宽高的缩放,以用图片完整地填满容器
Tip
可以在 Tailwind 配置文档的 theme.backgroundSize
或 theme.extend.backgroundSize
属性中定制
module.exports = {
theme: {
backgroundSize: {
'auto': 'auto',
'cover': 'cover',
'contain': 'contain',
'50%': '50%',
'16': '4rem',
}
}
}
Tip
支持任意值 bg-[length:200px_100px]
由于 bg-
前缀所对应的基础类可以接受的值有多种,所以在任意值前需要添加提示 length
并用 :
冒号分隔,以提示 Tailwind 需要定制的是背景图片的尺寸大小
Background Position
Background Position 基础类用于设置背景图先对于容器的位置
Tip
在 Tailwind 配置文档的 theme.position
或 theme.extend.position
属性中定制
module.exports = {
theme: {
backgroundPosition: {
bottom: 'bottom',
'bottom-4': 'center bottom 1rem',
}
}
}
Tip
支持任意值 bg-[center_top_1rem]
Background Origin
Background Origin 基础类用于设置元素的背景可以覆盖的范围,提供了 3 个基础类,分别是 .bg-origin-border
背景可以覆盖到边框、.bg-origin-padding
背景可以覆盖到内边距、.bg-origin-content
背景可以覆盖到内容区
Background Repeat
Background Repeat 基础类用于设置背景图的通过重复图片而实现填充容器的规则
Background Attachment
Background Attachment 基础类用于设置背景图在其容器滚动时的行为,提供了 3 个基础类,分别是 .bg-scroll
背景图随着页面的滚动而滚动,但不会随着容器内容的滚动而滚动(默认)、.bg-fixed
背景图片固定在视口内,不会随着容器的滚动而滚动、.bg-local
背景图相对于元素的内容定位,随着元素的内容滚动而滚动。
Background Clip
Background Clip 基础类用于设置背景(背景图片或颜色)的裁剪样式,提供了 4 个基础类,分别是 .bg-clip-border
对背景进行裁剪,范围局限在边框处(但是在边框下层)、.bg-clip-padding
对背景进行裁剪,范围局限在内边距(即不会到边框处)、.bg-clip-content
对背景进行裁剪,范围局限在内容区、.bg-clip-text
对背景进行裁剪,作为文字的前景色
<div class="text-5xl font-extrabold ...">
<span class="bg-clip-text text-transparent bg-gradient-to-r from-pink-500 to-violet-500">
Hello world
</span>
</div>
Background Color
Background Color 基础类用于设置元素的背景色
Tip
Tailwind 默认提供的背景色基础类,都支持在其后添加表示透明度百分比的数值(与 Opacity 基础类所匹配) ,并用 /
分隔,也可以使用任意值 bg-sky-500/[.06]
<button class="bg-sky-500/100 ..."></button>
Tip
由于该基础类继承了 Color 基础类,所以可以间接在 Tailwind 配置文档的 theme.colors
或 theme.extend.colors
属性中定制
module.exports = {
theme: {
extend: {
colors: {
'regal-blue': '#243c5a',
},
}
}
}
也可以直接在 Tailwind 配置文档的 theme.backgroundColor
或 theme.extend.backgroundColor
属性中定制
Tip
支持任意值 bg-[#50d71e]
外框
边框
- Border Width 基础类用于设置元素的边框粗细,可以单独设置盒子的水平、垂直、一侧的边框
Tip
可以在 Tailwind 配置文档的
theme.borderWidth
或theme.extend.borderWidth
属性中定制tailwind.config.jsjsmodule.exports = { theme: { borderWidth: { DEFAULT: '1px', '0': '0', '2': '2px', '3': '3px', '4': '4px', '6': '6px', } } }
Tip
支持任意值
border-t-[3px]
- Border Color 基础类用于设置元素的边框颜色,可以单独设置盒子的水平、垂直、一侧的边框颜色
Tip
Tailwind 默认提供的边框颜色基础类,都支持在其后添加表示透明度百分比的数值(与 Opacity 基础类所匹配) ,并用
/
分隔,也可以使用任意值border-indigo-600/[.55]
html<div class="border-4 border-indigo-500/100 ..."></div>
Tip
由于该基础类继承了 Color 基础类,所以可以间接在 Tailwind 配置文档的
theme.colors
或theme.extend.colors
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { colors: { 'regal-blue': '#243c5a', }, } } }
也可以直接在 Tailwind 配置文档的theme.borderColor
或theme.extend.borderColor
属性中定制Tip
支持任意值
border-[#243c5a]
- Border Style 基础类用于设置元素边框的类型
分隔线
使用 Divide 相关的基础类,来设置相邻元素之间分隔线样式,实际上是设置其中一个元素的一侧边框样式
- Divide Width 基础类用于设置分隔线的样式
Tip
由于该基础类继承了 Border Width 基础类,所以可以间接在 Tailwind 配置文档的
theme.borderWidth
或theme.extend.borderWidth
属性中定制tailwind.config.jsjsmodule.exports = { theme: { borderWidth: { DEFAULT: '1px', '0': '0', '2': '2px', '3': '3px', '4': '4px', '6': '6px', } } }
也可以直接在 Tailwind 配置文档的theme.divideWidth
属性中定制tailwind.config.jsjsmodule.exports = { theme: { divideWidth: { DEFAULT: '1px', '0': '0', '2': '2px', '3': '3px', '4': '4px', '6': '6px', } } }
Tip
支持任意值
divide-x-[3px]
- Divide Color 基础类用于设置分隔线的颜色
Tip
Tailwind 默认提供的分隔线颜色基础类,都支持在其后添加表示透明度百分比的数值(与 Opacity 基础类所匹配) ,并用
/
分隔,也可以使用任意值divide-gray-400/[.24]
html<div class="divide-y-4 divide-gray-400/25 ..."> <!-- ... --> </div>
Tip
由于该基础类继承了 Color 基础类,所以可以间接在 Tailwind 配置文档的
theme.colors
或theme.extend.colors
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { colors: { 'regal-blue': '#243c5a', }, } } }
也可以直接在 Tailwind 配置文档的theme.divideColor
或theme.extend.divideColor
属性中定制Tip
支持任意值
divide-[#243c5a]
- Divide Style 基础类用于设置分隔线的类型
轮廓
轮廓是元素的边框外面一圈的线,一般用于起强调作用,它与 border 不同的一点是它「不占空间」,即它绘制在元素的外圈,不算入元素的大小尺寸里
- Outline Width 基础类用于设置轮廓的粗细
Tip
可以在 Tailwind 配置文档的
theme.outlineWidth
或theme.extend.outlineWidth
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { outlineWidth: { 5: '5px', } } } }
Tip
支持任意值
outline-[5px]
- Outline Color 基础类用于设置轮廓的颜色
Tip
Tailwind 默认提供的轮廓颜色基础类,都支持在其后添加表示透明度百分比的数值(与 Opacity 基础类所匹配) ,并用
/
分隔,也可以使用任意值outline-pink-400/[.55]
html<button class="outline-2 outline-blue-500/50 ...">Save Changes</button>
Tip
由于该基础类继承了 Color 基础类,所以可以间接在 Tailwind 配置文档的
theme.colors
或theme.extend.colors
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { colors: { 'regal-blue': '#243c5a', }, } } }
也可以直接在 Tailwind 配置文档的theme.outlineColor
或theme.extend.outlineColor
属性中定制Tip
支持任意值
outline-[#243c5a]
- Outline Style 基础类用于设置轮廓的类型
- Outline Offset 基础类用于设置轮廓偏离元素的值
Tip
可以在 Tailwind 配置文档的
theme.outlineOffset
或theme.extend.outlineOffset
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { outlineOffset: { 3: '3px', } } } }
Tip
支持任意值
outline-offset-[3px]
外环
外环 ring 实际是通过 box-shadow
属性样式为元素创建一圈外环,可以实现元素被聚焦时的强调效果
Tip
它可以与 Box Shadow 基础类很好的结合使用
- Ring Width 基础类用于设置外环的宽度,其中
ring-inset
基础类比较特殊,它是生成一个在元素内部的环形。
💡 可以在 Tailwind 配置文档的theme.ringWidth
或theme.extend.ringWidth
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { ringWidth: { '10': '10px', } } } }
Tip
支持任意值
ring-[10px]
- Ring Color 基础类用于设置外环的颜色
Tip
Tailwind 默认提供的外环颜色基础类,都支持在其后添加表示透明度百分比的数值(与 Opacity 基础类所匹配) ,并用
/
分隔,也可以使用任意值ring-blue-500/[.55]
html<button class="... ring-2 ring-blue-500/50">Subscribe</button>
Tip
由于该基础类继承了 Color 基础类,所以可以间接在 Tailwind 配置文档的
theme.colors
或theme.extend.colors
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { colors: { 'regal-blue': '#243c5a', }, } } }
也可以直接在 Tailwind 配置文档的theme.ringColor
或theme.extend.ringColor
属性中定制Tip
支持任意值
ring-[#50d71e]
- Ring Offset Width 基础类用于设置外环偏离元素的值。
Tip
在 Tailwind 配置文档的
theme.ringOffsetWidth
或theme.extend.ringOffsetWidth
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { ringOffsetWidth: { '3': '3px', '6': '6px', '10': '10px', } } } }
Tip
支持任意值
ring-offset-[3px]
外环偏离后默认内部是白色的,可以使用 Ring Offset Color 基础类来设置其颜色Tip
Tailwind 默认提供的外环偏移填充色基础类,都支持在其后添加表示透明度百分比的数值(与 Opacity 基础类所匹配) ,并用
/
分隔,也可以使用任意值ring-offset-purple-100/[.55]
html<button class="ring-2 ring-purple-500 ring-offset-4 ring-offset-purple-100/50"></button>
Tip
由于该基础类继承了 Color 基础类,所以可以间接在 Tailwind 配置文档的
theme.colors
或theme.extend.colors
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { colors: { 'regal-blue': '#243c5a', }, } } }
也可以直接在 Tailwind 配置文档的theme.ringOffsetColor
或theme.extend.ringOffsetColor
属性中定制Tip
支持任意值
ring-offset-[#50d71e]
其他
- Border Radius 基础类用于设置元素的圆角样式,可以设置盒子的一侧或单个圆角,其中
.rounded-full
基础类基于元素的宽高比例,可以将元素设置为药丸 pill 形式或是圆形,Tip
可以在 Tailwind 配置文档的
theme.borderRadius
或theme.extend.borderRadius
属性中定制tailwind.config.jsjsmodule.exports = { theme: { borderRadius: { 'none': '0', DEFAULT: '4px', 'large': '12px', } } }
Tip
支持任意值
rounded-[12px]
- Box Shadow 基础类用于设置元素的阴影,其中
.shadow-inner
基础类添加内阴影,其他基础类添加的是外阴影Tip
可以在 Tailwind 配置文档的
theme.boxShadow
或theme.extend.boxShadow
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { boxShadow: { '3xl': '0 35px 60px -15px rgba(0, 0, 0, 0.3)', } } } }
Tip
支持任意值
shadow-[0_35px_60px_-15px_rgba(0,0,0,0.3)]
可以通过 Box Shadow Color 基础类设置盒子阴影的颜色Tip
Tailwind 默认提供的阴影色基础类,都支持在其后添加表示透明度百分比的数值(与 Opacity 基础类所匹配) ,并用
/
分隔html<button class="bg-cyan-500 shadow-lg shadow-cyan-500/50 ...">Subscribe</button>
Warning
如果使用了状态变量改变了阴影的效果,例如
hover:shadow-xl
,这会造成阴影颜色的改变,因为默认的阴影色是灰色,而要维持阴影色,需要在相应的状态下,再设置一次阴影色hover:shadow-cyan-500/50
Tip
由于该基础类继承了 Color 基础类,所以可以间接在 Tailwind 配置文档的
theme.colors
或theme.extend.colors
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { colors: { 'regal-blue': '#243c5a', }, } } }
也可以直接在 Tailwind 配置文档的theme.boxShadowColor
或theme.extend.boxShadowColor
属性中定制Tip
支持任意值
shadow-[#50d71e]
动效与交互
Transforms
CSS transform
样式属性可以对元素进行旋转、缩放、倾斜或平移的操作
Tip
如果结合 transition
样式属性可以实现元素的变形动画,如果动画调用 GPU 有更好的性能时,可以添加 transform-gpu
基础类让系统强制使用 GPU 硬件加速
- Scale 基础类用于缩放元素
Tip
可以在基础类前添加
-
将其值设置为负值,实现 180° 的翻转缩放Tip
可以在 Tailwind 配置文档的
theme.scale
或theme.extend.scale
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { scale: { '175': '1.75', } } } }
Tip
支持任意值
scale-[1.7]
- Rotate 基础类用于旋转元素
Tip
可以在基础类前添加
-
将其值设置为负值,实现逆时针旋转Tip
可以在 Tailwind 配置文档的
theme.rotate
或theme.extend.rotate
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { rotate: { '17': '17deg', } } } }
Tip
支持任意值
rotate-[17deg]
- Translate 基础类用于平移元素
Tip
可以在基础类前添加
-
将其值设置为负值,实现反方向平移(网页的坐标轴的正方向是向右和向下)Tip
由于该基础类继承了 Spacing 基础类以及
1/2
和full
等以实现基于元素大小尺寸相应的百分比平移元素,所以可以间接在 Tailwind 配置文档的theme.spacing
或theme.extend.spacing
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { spacing: { '4.25': '17rem', } } } }
也可以直接在 Tailwind 配置文档的theme.translate
或theme.extend.translate
属性中定制Tip
支持任意值
translate-y-[17rem]
- Skew 基础类用于倾斜元素
Tip
可以在基础类前添加
-
将其值设置为负值Tip
可以在 Tailwind 配置文档的
theme.skew
或theme.extend.skew
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { skew: { '17': '17deg', } } } }
Tip
支持任意值
skew-y-[17deg]
- Transform Origin 基础类用于设置 transform 元素时的参考中点
Tip
可以在 Tailwind 配置文档的
theme.transformOrigin
或theme.extend.transformOrigin
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { transformOrigin: { 'top-left-1/3-3/4': '33% 75%', } } } }
Tip
支持任意值
origin-[33%_75%]
Transition
CSS transition
是一个简写属性,用以设置过渡动画的相关参数
- Transition Property 基础类用以设置元素的哪一个样式属性需要设置过渡,其中
transition-all
基础类为所有可以插值的样式属性设置过渡Tip
可以在 Tailwind 配置文档的
theme.transitionProperty
或theme.extend.transitionProperty
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { transitionProperty: { 'height': 'height', 'spacing': 'margin, padding', } } } }
Tip
支持任意值
transition-[height]
- Transition Duration 基础类用于设置过渡的持续时间
Tip
可以在 Tailwind 配置文档的
theme.transitionDuration
或theme.extend.transitionDuration
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { transitionDuration: { '0': '0ms', '2000': '2000ms', } } } }
Tip
支持任意值
transition-[2000ms]
- Transition Timing Function 基础类用于设置过渡的缓动函数
Tip
可以在 Tailwind 配置文档的
theme.transitionTimingFunction
或theme.extend.transitionTimingFunction
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { transitionTimingFunction: { 'in-expo': 'cubic-bezier(0.95, 0.05, 0.795, 0.035)', 'out-expo': 'cubic-bezier(0.19, 1, 0.22, 1)', } } } }
Tip
支持任意值
ease-[cubic-bezier(0.95,0.05,0.795,0.035)]
- Transition Delay 基础类用于设置过渡的延迟时间
Tip
可以在 Tailwind 配置文档的
theme.transitionDelay
或theme.extend.transitionDelay
属性中定制jsmodule.exports = { theme: { extend: { transitionDelay: { '0': '0ms', '2000': '2000ms', } } } }
Tip
支持任意值
delay-[2000ms]
- Animation 基础类用于设置关键帧动画来实现过渡,Tailwind 提供了 4 种关键帧动画基础类:
animate-spin
旋转(可用于加载转圈圈的动效)animate-ping
呼吸灯(可用于消息小红点的提醒)animate-pluse
闪动(可用于网页/卡片的内容加载前,显示的骨架图案)animate-bounce
跳动(可用于下载按钮动效,吸引用户点击)
Tip
可以在 Tailwind 配置文档的
theme.animation
或theme.extend.animation
属性中定制过渡,如果采用关键帧动画,则相应的关键帧的定义需要在theme.extend.keyFrames
属性中设置tailwind.config.jsjsmodule.exports = { theme: { extend: { animation: { wiggle: 'wiggle 1s ease-in-out infinite', }, keyframes: { wiggle: { '0%, 100%': { transform: 'rotate(-3deg)' }, '50%': { transform: 'rotate(3deg)' }, } } } } }
Tip
支持任意值
animate-[wiggle_1s_ease-in-out_infinite]
(相应的同名关键帧需要在全局样式里提供)
Scroll
- Scroll Behavior 基础类用于设置页面的滚动效果
Scroll Snap 是 CSS 的一个模块,对于容器内的元素进行滚动位置捕抓,并实现强制滚动定位,一般用于实现滚动吸附的效果。以下的基础类所设置的样式属性一般在触屏设备上效果更明显。 - Scroll Snap Type 基础类用于设置容器内元素的滚动位置的捕抓方式:
- 基础类
.snap-x
、.snap-y
或.snap-both
设置捕抓容器哪个方向上的滚动 - 基础类
.snap-mandatory
(总是强制吸附) 或.snap-proximity
(非强制,只有在达到特定的临界值才吸附)设置是否强制将最近的元素吸附到容器的指定位置
以上两类 class 可以配合使用,以设定在哪个方向上实现那种方式的滚动吸附 - 基础类
- Scroll Snap Align 基础类用于子元素上,以设置该元素吸附到容器的何处
- Scroll Snap Stop 基础类用于子元素上,当用户「大力」滑动时,是否允许多个子元素跳过吸附点(默认允许跳过),可以通过
.snap-always
来启用约束,这样吸附点对于元素都会实行吸附制动停止,避免一次「大力」滑动而滚动过多的元素。 - Scroll Padding 基础类用于设置吸附点距离容器的偏移距离
Tip
由于该基础类继承了 Spacing 基础类,所以可以间接在 Tailwind 配置文档的
theme.spacing
或theme.extend.spacing
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { spacing: { '96': '24rem', } } } }
也可以直接在 Tailwind 配置文档的theme.scrollPadding
或theme.extend.scrollPadding
属性中定制Tip
支持任意值
scroll-p-[24rem]
- Scroll Margin 基础类用于设置元素距离吸附点的偏移距离
Tip
由于该基础类继承了 Spacing 基础类,所以可以间接在 Tailwind 配置文档的
theme.spacing
或theme.extend.spacing
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { spacing: { '96': '24rem', } } } }
也可以直接在 Tailwind 配置文档的theme.scrollMargin
或theme.extend.scrollMargin
属性中定制Tip
支持任意值
scroll-m-[24rem]
<!-- 滚动容器设置为捕抓水平滚动,执行强制吸附 -->
<div class="snap-mandatory snap-x ...">
<!-- 子元素均采用吸附到元素的中间位置 -->
<div class="snap-center ...">
<img src="..." />
</div>
<div class="snap-center ...">
<img src="..." />
</div>
<div class="snap-center ...">
<img src="..." />
</div>
</div>
Cursor
Cursor 基础类用以设置鼠标指针的样式
Tip
可以在 Tailwind 配置文档的 theme.cursor
或 theme.extend.cursor
属性中定制
module.exports = {
theme: {
extend: {
cursor: {
'fancy': 'url(hand.cur), pointer',
}
}
}
}
Tip
支持任意值 cursor-[url(hand.cur),_pointer]
Touch Action
Touch Action 基础类用于设置在触摸屏上用户如何操纵元素,如可触摸滚动的方向以及缩放交互
User Select
User Select 基础类用于设置元素可供用户选中的类型,其中 .select-none
基础类禁止用户选中该元素的内容;.select-text
基础类允许用户选中元素的文本内容;.select-all
基础类允许用户通过点击全选元素。
表单
- Accent Color 基础类用于设置表单元素的强调色html
<label> <input type="checkbox" class="accent-pink-500" checked> Customized </label>
Tip
支持设置颜色的透明度(目前仅 Firefox 浏览器支持)
html<label> <input type="checkbox" class="accent-pink-500" checked> Customized </label>
Tip
由于该基础类继承了 Color 基础类,所以可以间接在 Tailwind 配置文档的
theme.colors
或theme.extend.colors
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { colors: { 'regal-blue': '#243c5a', }, } } }
也可以直接在 Tailwind 配置文档的theme.accentColor
或theme.extend.accentColor
属性中定制Tip
支持任意值
accent-[#50d71e]
- Appearance 基础类用于移除浏览器默认提供的交互控件,只有
.appearance-none
基础类,例如用于下拉选框<select>
元素可以取消元素默认的箭头图标 - Caret Color 基础类用于设置插入光标(一般在输入型表单中)的颜色
Tip
由于该基础类继承了 Color 基础类,所以可以间接在 Tailwind 配置文档的
theme.colors
或theme.extend.colors
属性中定制tailwind.config.jsjsmodule.exports = { theme: { extend: { colors: { 'regal-blue': '#243c5a', }, } } }
也可以直接在 Tailwind 配置文档的theme.caretColor
或theme.extend.caretColor
属性中定制Tip
支持任意值
caret-[#50d71e]
- Pointer Events 基础类用于设置图形元素是否可以成为鼠标事件(如点击事件)的对象
Tip
一个使用场景是在输入型表单的 SVG 图标上添加
.pointer-events-none
基础类,这样图标就不会响应鼠标事件,鼠标就像穿透了图标,可作用于图标下方的元素。这样图标就可以作为视觉提示,但是表单整体(包括图标)都可以响应点击,获得聚焦从而可以输入html<div class="relative ..."> <!-- 该元素不会响应鼠标事件 --> <div class="absolute pointer-events-none ..."> <svg class="absolute ..." viewBox="0 0 20 20" fill="currentColor"> <path d="..." /> </svg> </div> <!-- 鼠标点击上方图标时,可以穿透元素作用于以下元素,从而让输入框获得聚焦,这样点击搜索图标时也可以允许用户输入 --> <input type="text" placeholder="Search" class="..."> </div>
- Resize 基础类用于设置文本框/多行表单是否可以调整大小
Will Change
Will Change 基础类用于提示浏览器元素即将发生的变动(如滚动、transform、内容改变等)情况,可以优化性能。推荐在即将发生变动时添加相应的基础类,然后在变动结束后使用 .will-change-auto
基础类来移除它们
Tip
可以在 Tailwind 配置文档的 theme.willChange
或 theme.extend.willChange
属性中定制
module.exports = {
theme: {
extend: {
willChange: {
'left-top': 'left, top',
}
}
}
}
Tip
支持任意值 will-change-[top,left]
特效
混合效果
- Mix Blend Mode 基础类用于设置元素之间重叠部分的混合方式
- Background Blend Mode 基础类用于设置图片与背景色混合方式
以上两种效果所提供的基础类的具体视觉体验可以查看视频教程
滤镜
将模糊或颜色偏移等滤镜应用于元素上,这会对内部(子元素)或其背景(背景图或背景色)产生有意思的效果
- Blur 基础类提供高斯模糊滤镜
Tip
可以在 Tailwind 配置文档
theme.blur
或theme.extend.blur
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { blur: { xs: '2px', } } } }
Tip
支持任意值
blur-[2px]
- Brightness 基础类提供亮度滤镜
Tip
可以在 Tailwind 配置文档
theme.brightness
或theme.extend.brightness
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { brightness: { 25: '.25', 175: '1.75', } } } }
Tip
支持任意值
brightness-[1.75]
- Contrast 基础类提供对比度滤镜
Tip
可以在 Tailwind 配置文档
theme.contrast
或theme.extend.contrast
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { contrast: { 25: '.25', } } } }
Tip
支持任意值
contrast-[.25]
- Drop Shadow 基础类提供投影滤镜
Tip
可以在 Tailwind 配置文档
theme.dropShadow
或theme.extend.dropShadow
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { dropShadow: { '3xl': '0 35px 35px rgba(0, 0, 0, 0.25)', } } } }
Tip
支持任意值
drop-shadow-[0_35px_35px_rgba(0,0,0,0.25)]
- Grayscale 基础类提供灰阶滤镜
Tip
可以在 Tailwind 配置文档
theme.grayscale
或theme.extend.grayscale
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { grayscale: { 50: '50%', } } } }
Tip
支持任意值
grayscale-[50%]
- Hue Rotate 基础类提供色调滤镜
Tip
可以在基础类前添加
-
将色调转换为负值Tip
可以在 Tailwind 配置文档
theme.hueRotate
或theme.extend.hueRotate
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { hueRotate: { '-270': '-270deg', 270: '270deg', } } } }
Tip
支持任意值
hue-rotate-[270deg]
- Invert 基础类提供反转颜色滤镜
Tip
可以在 Tailwind 配置文档
theme.invert
或theme.extend.invert
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { invert: { 25: '.25', 50: '.5', 75: '.75', } } } }
Tip
支持任意值
invert-[.25]
- Saturate 基础类提供饱和度滤镜
Tip
可以在 Tailwind 配置文档
theme.saturate
或theme.extend.saturate
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { saturate: { 25: '.25', 75: '.75', } } } }
Tip
支持任意值
saturate-[.25]
- Sepia 基础类提供棕褐色滤镜(将图片转换为旧照片的风格)
Tip
可以在 Tailwind 配置文档
theme.sepia
或theme.extend.sepia
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { sepia: { 25: '.25', 75: '.75', } } } }
Tip
支持任意值
sepia-[.25]
backdrop-filter
CSS 样式属性 backdrop-filter
可以为元素后面区域添加图形效果,如模糊或颜色偏移,因为它适用于元素背后的所有元素,为了看到效果,==必须使元素或其背景至少部分透明==。
- Backdrop Blur 基础类
提供背景虚化滤镜
Tip
可以在 Tailwind 配置文档
theme.backdropBlur
或theme.extend.backdropBlur
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { backdropBlur: { xs: '2px', } } } }
Tip
支持任意值
backdrop-blur-[2px]
- Backdrop Brightness 基础类提供背景亮度滤镜
Tip
可以在 Tailwind 配置文档
theme.backdropBrightness
或theme.extend.backdropBrightness
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { backdropBrightness: { 25: '.25', 175: '1.75', } } } }
Tip
支持任意值
backdrop-brightness-[1.75]
- Backdrop Contrast 基础类提供背景对比度滤镜
Tip
可以在 Tailwind 配置文档
theme.backdropContrast
或theme.extend.backdropContrast
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { backdropContrast: { 25: '.25', } } } }
Tip
支持任意值
backdrop-contrast-[.25]
- Backdrop Grayscale 基础类提供背景灰阶滤镜
Tip
可以在 Tailwind 配置文档
theme.backdropGrayscale
或theme.extend.backdropGrayscale
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { backdropGrayscale: { 50: '.5', } } } }
Tip
支持任意值
backdrop-grayscale-[.5]
- Backdrop Hue Rotate 基础类提供背景色调滤镜
Tip
可以在基础类前添加
-
将色调转换为负值Tip
可以在 Tailwind 配置文档
theme.backdropHueRotate
或theme.extend.backdropHueRotate
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { backdropHueRotate: { '-270': '-270deg', 270: '270deg', } } } }
Tip
支持任意值
backdrop-hue-rotate-[270deg]
- Backdrop Invert 基础类提供背景反色滤镜
Tip
可以在 Tailwind 配置文档
theme.backdropInvert
或theme.extend.backdropInvert
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { backdropInvert: { 25: '.25', 75: '.75', } } } }
Tip
支持任意值
backdrop-invert-[.25]
- Backdrop Opacity 基础类用以控制背景滤镜的透明度,可以用于控制其它背景滤镜的强度
Tip
可以在 Tailwind 配置文档
theme.backdropOpacity
或theme.extend.backdropOpacity
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { backdropOpacity: { 15: '.15', } } } }
Tip
支持任意值
backdrop-opacity-[.15]
- Backdrop Saturate 基础类提供背景饱和度滤镜
Tip
可以在 Tailwind 配置文档
theme.backdropSaturate
或theme.extend.backdropSaturate
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { backdropSaturate: { 25: '.25', } } } }
Tip
支持任意值
backdrop-saturate-[.25]
- Backdrop Sepia 基础类提供背景棕褐色滤镜
Tip
可以在 Tailwind 配置文档
theme.backdropSepia
或theme.extend.backdropSepia
属性中进行定制tailwind.config.jsjsmodule.exports = { theme: { extend: { backdropSepia: { 25: '.25', 75: '.75', } } } }
Tip
支持任意值
backdrop-sepia-[.25]
以上滤镜的具体视觉体验可以查看视频教程
SVG
Fill
Fill 基础类用于设置 SVG 图标的填充颜色
Tip
由于该基础类继承了 Color 基础类,所以可以间接在 Tailwind 配置文档的 theme.colors
或 theme.extend.colors
属性中定制
module.exports = {
theme: {
extend: {
colors: {
'regal-blue': '#243c5a',
},
}
}
}
也可以直接在 Tailwind 配置文档的 theme.fill
或 theme.extend.fill
属性中定制
Tip
支持任意值 fill-[#243c5a]
Stroke
Stroke 基础类用于设置 SVG 图标的描边颜色
Tip
由于该基础类继承了 Color 基础类,所以可以间接在 Tailwind 配置文档的 theme.stroke
或 theme.extend.stroke
属性中定制
module.exports = {
theme: {
extend: {
colors: {
'regal-blue': '#243c5a',
},
}
}
}
也可以直接在 Tailwind 配置文档的 theme.stroke
或 theme.extend.stroke
属性中定制
Tip
支持任意值 stroke-[#243c5a]
Stroke Width
Stroke Width 基础类用以设置 SVG 图标的描边宽度
Tip
可以在 Tailwind 配置文档 theme.strokeWidth
或 theme.extend.strokeWidth
属性中进行定制
module.exports = {
theme: {
extend: {
strokeWidth: {
'2': '2px',
}
}
}
}
Tip
支持任意值 stroke-[2px]
其他
表格
- Border Collapse 基础类用于设置
<table>
元素的边框样式 - Table Layout 基础类用于设置
<table>
元素各列宽度的布局算法
List Style Type
List Style Type 基础类用以设置列表项的标识类型
Tip
Tailwind 提供了三种类型的列表项标识,可以在 Tailwind 配置文档的 theme.listStyleType
属性中定制
module.exports = {
theme: {
listStyleType: {
none: 'none',
square: 'square',
roman: 'upper-roman',
}
}
}
Tip
支持任意值 list-[upper-roman]
List Style Position
List Style Position 基础类用以设置列表项标识的位置
Content
Content 基础类用于设置 ::before
或 ::after
伪元素的 content
属性的内容,Tailwind 提供了 .content-none
基础类,相应的样式值是 content: "";
这也是默认的样式值(空字符串)
Tip
支持任意值 before:content-['Hello_World']
,这样就可以方便地将伪元素的 content
设置为任意字符串,例如通过 attr()
方法来读取元素的属性值,将其设置为 content
内容
<div before="Hello World" class="before:content-[attr(before)]">
<!-- ... -->
</div>
如果希望 content
中包含空格,应该在代码中使用 _
来替代表示
<div class="before:content-['Hello_World']">
<!-- ... -->
</div>
如果希望 content
中包含下划线,则应该在代码中使用转义符对其处理
<div class="before:content-['Hello\_World']">
<!-- ... -->
</div>
Tip
可以在 Tailwind 配置文档的 theme.content
或 theme.extend.content
属性中定制
module.exports = {
theme: {
extend: {
content: {
'link': 'url("/icons/link.svg")',
},
}
}
}
Opacity
Opacity 基础类用于设置元素的透明度
Tip
可以在 Tailwind 配置文档的 theme.opacity
或 theme.extend.opacity
属性中进行定制
module.exports = {
theme: {
extend: {
opacity: {
'67': '.67',
}
}
}
}
Tip
支持任意值 opacity-[.67]
Accessibility
- Screen Readers 基础类用于提升页面的可及性,
.sr-only
基础类将元素从视觉上隐藏起来,但是仍可被屏幕阅读器识别