Мы добавили больше утилит в 3.0, и у всех утилит есть хорошая встроенная игровая площадка, попробуйте ее и получайте удовольствие.
- Backface Visibility
- Isolation
- Mix Blend Mode
- Shadow Color
- Background Blend Mode
- Background Origin
- Box Decoration Break
- Caret Color
- Caret Opacity
- Image Rendering
- List Style Type
- Stroke DashArray
- Stroke DashOffset
- Stroke LineCap
- Stroke LineJoin
- Hyphens
- Tab Size
- Text Decoration Color
- Text Decoration Opacity
- Text Decoration Length
- Text Decoration Offset
- Text Indent
- Text Stroke Width
- Text Stroke Color
- Text Shadow
- Writing Mode
- Writing Orientation
- Table Empty Cells
- Table Caption Side
- Transform Style
- Rotate X
- Rotate Y
- Rotate Z
- Scale Z
- Translate Z
- Perspective
- Perspective Origin
- Filter
- Backdrop Filter
Утилита backface
устанавливает, будет ли видна задняя грань элемента при повороте к пользователю.
xxxxxxxxxx
backface-hidden
.backface-hidden { -webkit-backface-visibility: hidden; backface-visibility: hidden; }
Утилиты для управления тем, должен ли элемент явно создавать новый контекст стекирования. Эти утилиты особенно полезны при использовании вместе с mix-blend-mode и z-index.
xxxxxxxxxx
isolate
.isolate { isolation: isolate; }
Утилиты для управления тем, как элемент должен сливаться с фоном.
xxxxxxxxxx
mix-blend-multiply
.mix-blend-multiply { mix-blend-mode: multiply; }
xxxxxxxxxx
shadow-gray-500
.shadow-gray-500 { --tw-shadow-color: 107, 114, 128; }
export default {
theme: {
boxShadowColor: {
gray: '#1c1c1e',
},
},
}
Утилиты для управления тем, как фоновое изображение элемента должно сливаться с его цветом фона.
xxxxxxxxxx
bg-blend-normal
.bg-blend-normal { background-blend-mode: normal; }
Утилиты для управления источником фона фонового изображения элемента.
xxxxxxxxxx
bg-origin-border
.bg-origin-border { background-origin: border-box; }
Утилиты для управления отображением фрагментов элементов в нескольких строках, столбцах или страницах.
xxxxxxxxxx
decoration-slice
.decoration-slice { -webkit-box-decoration-break: slice; box-decoration-break: slice; }
Утилиты для управления цветом текста вставки.
xxxxxxxxxx
caret-gray-500
.caret-gray-500 { --tw-caret-opacity: 1; caret-color: rgba(107, 114, 128, var(--tw-caret-opacity)); }
export default {
theme: {
caretColor: {
primary: '#3490dc',
secondary: '#ffed4a',
danger: '#e3342f',
},
},
}
Утилиты для управления непрозрачностью цвета каретки элемента.
xxxxxxxxxx
caret-opacity-50
.caret-opacity-50 { --tw-caret-opacity: 0.5; }
export default {
theme: {
extend: {
caretOpacity: {
light: '0.1',
},
},
},
}
Утилита image-render
определяет, как браузер должен отображать изображение, если оно масштабируется вверх или вниз по сравнению с его исходными размерами. По умолчанию каждый браузер будет пытаться применить псевдоним к этому масштабированному изображению, чтобы предотвратить искажение, но иногда это может быть проблемой, если мы хотим, чтобы изображение сохраняло исходную пиксельную форму.
xxxxxxxxxx
image-render-pixel
.image-render-pixel { -ms-interpolation-mode: nearest-neighbor; image-rendering: -webkit-optimize-contrast; image-rendering: -moz-crisp-edges; image-rendering: -o-pixelated; image-rendering: pixelated; }
Утилиты для управления стилем маркера/номера списка.
list-disc
.list-disc { list-style-type: disc; }
export default {
theme: {
listStyleType: {
none: 'none',
disc: 'disc',
decimal: 'decimal',
square: 'square',
roman: 'upper-roman',
},
},
}
Утилита stroke-dash
- это служебная программа для презентаций, определяющая образец штрихов и пробелов, используемых для рисования контура фигуры.
xxxxxxxxxx
stroke-dash-2
.stroke-dash-2 { stroke-dasharray: 2; }
Утилита stroke-offset
- это служебная программа представления, определяющая смещение при отображении связанного массива штрихов.
xxxxxxxxxx
stroke-offset-2
.stroke-offset-2 { stroke-dashoffset: 2; }
Утилита stroke-cap
- это служебная программа представления, определяющая форму, которая будет использоваться в конце открытых подпутей при их обводке.
xxxxxxxxxx
stroke-cap-auto
.stroke-cap-auto { stroke-linecap: butt; }
Утилита stroke-join
- это служебная программа для представления, определяющая форму, которая будет использоваться в углах контуров при их обводке.
xxxxxxxxxx
stroke-join-auto
.stroke-join-auto { stroke-linejoin: miter; }
Утилиты дефисов определяют, как слова должны быть расставлены через дефис, когда текст переносится на несколько строк. Он может полностью запретить расстановку переносов, переносить через дефис в заданных вручную точках текста или позволить браузеру автоматически вставлять переносы там, где это необходимо.
xxxxxxxxxx
hyphens-auto
.hyphens-auto { -webkit-hyphens: auto; -ms-hyphens: auto; hyphens: auto; }
Утилиты размера табуляции используются для настройки ширины символов табуляции (U+0009).
xxxxxxxxxx
tab
.tab { -moz-tab-size: 4; -o-tab-size: 4; tab-size: 4; }
export default {
theme: {
tabSize: {
sm: '2',
md: '4',
lg: '8',
},
},
}
Утилиты для управления оформлением текста.
Утилиты для управления типом оформления текста.
xxxxxxxxxx
underline
.underline { -webkit-text-decoration-line: underline; text-decoration-line: underline; }
Утилиты для управления цветом оформления текста.
xxxxxxxxxx
underline-green-500
.underline-green-500 { --tw-line-opacity: 1; -webkit-text-decoration-color: rgba(16, 185, 129, var(--tw-line-opacity)); text-decoration-color: rgba(16, 185, 129, var(--tw-line-opacity)); }
export default {
theme: {
textDecorationColor: {
primary: '#3490dc',
secondary: '#ffed4a',
danger: '#e3342f',
},
},
}
Утилиты для управления непрозрачностью цвета оформления элемента.
xxxxxxxxxx
underline-opacity-50
.underline-opacity-50 { --tw-line-opacity: 0.5; }
export default {
theme: {
extend: {
textDecorationOpacity: {
10: '0.1',
20: '0.2',
95: '0.95',
},
},
},
}
Утилиты для управления длиной оформления текста.
xxxxxxxxxx
underline-auto
.underline-auto { text-decoration-thickness: auto; }
export default {
theme: {
extend: {
textDecorationLength: {
sm: '1px',
md: '2px',
lg: '4px',
},
},
},
}
Утилиты для управления смещением оформления текста.
xxxxxxxxxx
underline-offset-auto
.underline-offset-auto { text-underline-offset: auto; }
export default {
theme: {
textDecorationOffset: {
sm: '1px',
md: '2px',
lg: '4px',
},
},
}
Утилиты для управления отступом текста.
xxxxxxxxxx
indent
.indent { text-indent: 1.5rem; }
export default {
theme: {
extend: {
textIndent: {
'4xl': '5rem',
'5xl': '6rem',
},
},
},
}
Утилиты для управления обводкой текстового элемента.
Утилиты для управления шириной обводки текста.
xxxxxxxxxx
text-stroke-md
.text-stroke-md { -webkit-text-stroke-width: medium; }
export default {
theme: {
extend: {
textStrokeWidth: {
'xl': '6',
'2xl': '8',
},
},
},
}
Утилиты для управления цветом обводки текста.
xxxxxxxxxx
text-stroke-blue-500
.text-stroke-blue-500 { --tw-text-stroke-opacity: 1; -webkit-text-stroke-color: rgba(59, 130, 246, var(--tw-text-stroke-opacity)); }
export default {
theme: {
textStrokeColor: {
primary: '#3490dc',
secondary: '#ffed4a',
danger: '#e3342f',
},
},
}
Утилиты для управления тенью текстового элемента.
xxxxxxxxxx
text-shadow-lg
.text-shadow-lg { text-shadow: 3px 3px 6px rgb(0 0 0 / 26%), 0 0 5px rgb(15 3 86 / 22%); }
export default {
theme: {
textShadow: {
'DEFAULT': '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)', // If a DEFAULT shadow is provided, it will be used for the non-suffixed shadow utility.
'2xl': '0 25px 50px -12px rgba(0, 0, 0, 0.25)',
'3xl': '0 35px 60px -15px rgba(0, 0, 0, 0.3)',
},
},
}
Утилита writing-mode
устанавливает, будут ли строки текста располагаться по горизонтали или вертикали, а также направление, в котором происходит прогресс блоков. При установке для всего документа он должен быть установлен в корневом элементе (элемент html для документов HTML).
xxxxxxxxxx
write-vertical-right
.write-vertical-right { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
Утилита writing-orientation
устанавливает ориентацию текстовых символов в строке. Это влияет только на текст в вертикальном режиме (когда writing-mode
не horizontal-tb
). Это полезно для управления отображением языков, использующих вертикальный сценарий, а также для создания заголовков вертикальных таблиц.
xxxxxxxxxx
write-orient-mixed
.write-orient-mixed { -webkit-text-orientation: mixed; text-orientation: mixed; }
Утилита caption
помещает содержимое таблицы <caption>
на указанную сторону. Значения относятся к режиму записи таблицы.
xxxxxxxxxx
caption-top
.caption-top { caption-side: top; }
Утилита empty-cells
устанавливает, появляются ли границы и фон вокруг ячеек <table>
, которые не имеют видимого содержимого. Хорошим вариантом использования пустых ячеек может быть ситуация, когда вы можете не знать, будет ли таблица содержать пустые точки данных или нет, и вы решили их скрыть.
xxxxxxxxxx
empty-cells-visible
.empty-cells-visible { empty-cells: show; }
Утилиты для управления поведением трансформации.
xxxxxxxxxx
transform
.transform { --tw-rotate: 0; --tw-rotate-x: 0; --tw-rotate-y: 0; --tw-rotate-z: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; -webkit-transform: rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)); -ms-transform: rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)); transform: rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)); }
Утилита в стиле преобразования устанавливает, будут ли дочерние элементы элемента располагаться в трехмерном пространстве или выровнены в плоскости элемента.
xxxxxxxxxx
preserve-3d
.preserve-3d { -webkit-transform-style: preserve-3d; transform-style: preserve-3d; }
xxxxxxxxxx
rotate-x-30
.rotate-x-30 { --tw-rotate-x: 30deg; }
xxxxxxxxxx
rotate-y-45
.rotate-y-45 { --tw-rotate-y: 45deg; }
xxxxxxxxxx
rotate-z-12
.rotate-z-12 { --tw-rotate-z: 12deg; }
xxxxxxxxxx
scale-z-90
.scale-z-90 { --tw-scale-z: .9; }
export default {
theme: {
scale: {
half: '.5',
full: '1',
},
},
}
xxxxxxxxxx
translate-z-0
.translate-z-0 { --tw-translate-z: 0px; }
Вы можете настроить глобальную шкалу интервалов в разделах theme.spacing
или theme.extend.spacing
вашего файла windi.config.js
:
export default {
theme: {
extend: {
spacing: {
72: '18rem',
84: '21rem',
96: '24rem',
},
},
},
}
Чтобы настроить масштаб перевода отдельно, используйте раздел theme.translate
в файле windi.config.js
.
export default {
theme: {
extend: {
translate: {
'1/7': '14.2857143%',
'2/7': '28.5714286%',
'3/7': '42.8571429%',
'4/7': '57.1428571%',
'5/7': '71.4285714%',
'6/7': '85.7142857%',
},
},
},
}
Утилита perspect
определяет расстояние между плоскостью z=0 и пользователем, чтобы придать трехмерному позиционируемому элементу некоторую перспективу.
xxxxxxxxxx
perspect-lg
.perspect-lg { -webkit-perspective: 32rem; perspective: 32rem; }
export default {
theme: {
extend: {
perspective: {
'8xl': '96rem',
'9xl': '128rem',
},
},
},
}
Утилита perspect-origin
определяет позицию, на которую смотрит зритель. Он используется как точка схода утилитой perspect utility.
xxxxxxxxxx
perspect-origin-center
.perspect-origin-center { -webkit-perspective-origin: center; perspective-origin: center; }
export default {
theme: {
extend: {
perspectiveOrigin: {
tb150: '150% 150%',
tb200: '200% 200%',
},
},
},
}
Утилиты для включения и отключения фильтров на элементе.
xxxxxxxxxx
filter
.filter { --tw-blur: var(--tw-empty,/*!*/ /*!*/); --tw-brightness: var(--tw-empty,/*!*/ /*!*/); --tw-contrast: var(--tw-empty,/*!*/ /*!*/); --tw-grayscale: var(--tw-empty,/*!*/ /*!*/); --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/); --tw-invert: var(--tw-empty,/*!*/ /*!*/); --tw-saturate: var(--tw-empty,/*!*/ /*!*/); --tw-sepia: var(--tw-empty,/*!*/ /*!*/); --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/); -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); }
xxxxxxxxxx
blur-sm
.blur-sm { --tw-blur: blur(4px); }
export default {
theme: {
blur: {
'4xl': '72px',
'5xl': '96px',
'6xl': '128px',
},
},
}
xxxxxxxxxx
brightness-100
.brightness-100 { --tw-brightness: brightness(1); }
export default {
theme: {
brightness: {
sm: '50',
md: '100',
lg: '150',
},
},
}
xxxxxxxxxx
contrast-100
.contrast-100 { --tw-contrast: contrast(1); }
export default {
theme: {
contrast: {
sm: '50',
md: '100',
lg: '150',
},
},
}
xxxxxxxxxx
drop-shadow-md
.drop-shadow-md { --tw-drop-shadow: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06)); }
export default {
theme: {
dropShadow: {
'3xl': 'drop-shadow(0 30px 30px rgba(0, 0, 0, 0.2))',
'4xl': 'drop-shadow(0 40px 40px rgba(0, 0, 0, 0.3))',
},
},
}
xxxxxxxxxx
grayscale
.grayscale { --tw-grayscale: grayscale(100%); }
export default {
theme: {
grayscale: {
50: '0.5',
80: '0.8',
},
},
}
xxxxxxxxxx
hue-rotate-45
.hue-rotate-45 { --tw-hue-rotate: hue-rotate(45deg); }
export default {
theme: {
hueRotate: {
sm: '60',
lg: '90',
xl: '180',
},
},
}
xxxxxxxxxx
invert
.invert { --tw-invert: invert(100%); }
export default {
theme: {
invert: {
sm: '0.5',
lg: '0.8',
},
},
}
xxxxxxxxxx
saturate-0
.saturate-0 { --tw-saturate: saturate(0); }
export default {
theme: {
saturate: {
sm: '0.5',
md: '1',
lg: '1.5',
},
},
}
xxxxxxxxxx
sepia
.sepia { --tw-sepia: sepia(100%); }
export default {
theme: {
sepia: {
sm: '0.5',
md: '0.8',
},
},
}
Утилиты для включения и отключения фоновых фильтров для элемента.
xxxxxxxxxx
backdrop-filter
.backdrop-filter { --tw-backdrop-blur: var(--tw-empty,/*!*/ /*!*/); --tw-backdrop-brightness: var(--tw-empty,/*!*/ /*!*/); --tw-backdrop-contrast: var(--tw-empty,/*!*/ /*!*/); --tw-backdrop-grayscale: var(--tw-empty,/*!*/ /*!*/); --tw-backdrop-hue-rotate: var(--tw-empty,/*!*/ /*!*/); --tw-backdrop-invert: var(--tw-empty,/*!*/ /*!*/); --tw-backdrop-opacity: var(--tw-empty,/*!*/ /*!*/); --tw-backdrop-saturate: var(--tw-empty,/*!*/ /*!*/); --tw-backdrop-sepia: var(--tw-empty,/*!*/ /*!*/); -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); }
xxxxxxxxxx
backdrop-blur-sm
.backdrop-blur-sm { --tw-backdrop-blur: blur(4px); }
export default {
theme: {
backdropBlur: {
'4xl': '72px',
'5xl': '96px',
'6xl': '128px',
},
},
}
xxxxxxxxxx
backdrop-brightness-100
.backdrop-brightness-100 { --tw-backdrop-brightness: brightness(1); }
export default {
theme: {
backdropBrightness: {
sm: '50',
md: '100',
lg: '150',
},
},
}
xxxxxxxxxx
backdrop-contrast-100
.backdrop-contrast-100 { --tw-backdrop-contrast: contrast(1); }
export default {
theme: {
backdropContrast: {
sm: '50',
md: '100',
lg: '150',
},
},
}
xxxxxxxxxx
backdrop-grayscale
.backdrop-grayscale { --tw-backdrop-grayscale: grayscale(100%); }
export default {
theme: {
backdropGrayscale: {
50: '0.5',
80: '0.8',
},
},
}
xxxxxxxxxx
backdrop-hue-rotate-45
.backdrop-hue-rotate-45 { --tw-backdrop-hue-rotate: hue-rotate(45deg); }
export default {
theme: {
backdropHueRotate: {
sm: '60',
lg: '90',
xl: '180',
},
},
}
xxxxxxxxxx
backdrop-invert
.backdrop-invert { --tw-backdrop-invert: invert(100%); }
export default {
theme: {
backdropInvert: {
sm: '0.5',
lg: '0.8',
},
},
}
xxxxxxxxxx
backdrop-opacity-50
.backdrop-opacity-50 { --tw-backdrop-opacity: opacity(0.5); }
export default {
theme: {
backdropOpacity: {
sm: '0.5',
lg: '0.8',
},
},
}
xxxxxxxxxx
backdrop-saturate-0
.backdrop-saturate-0 { --tw-backdrop-saturate: saturate(0); }
export default {
theme: {
backdropSaturate: {
sm: '0.5',
md: '1',
lg: '1.5',
},
},
}
xxxxxxxxxx
backdrop-sepia
.backdrop-sepia { --tw-backdrop-sepia: sepia(100%); }
export default {
theme: {
backdropSepia: {
sm: '0.5',
md: '0.8',
},
},
}