Expand description
§Tailwind CSS
Tailwind style tracer, JIT + AOT Interpreter!
use tailwind_css::TailwindBuilder;
fn build() {
let mut tailwind = TailwindBuilder::default();
// The compiler will expand directly into the final css property
// Inline style will not be tracked
let inline = tailwind.inline("py-2 px-4 bg-green-500");
// The compiler will expand into a `class`, and record the style class used
tailwind.trace("py-2 px-4 bg-green-500", false);
// Compile all traced classes into bundle
let bundle = tailwind.bundle();
}
§Notice
§Tailwind++ Grammar
This library is not strictly implemented according to the original version.
Especially when some writing methods can be simplified or generalized.
For example arbitrary values of z-index
needs brackets, but rs version does not.
- js:
z-[100]
- rs:
z-100
§Bundle or Inline?
For example, there are style overrides in p-auto px-px pt-2 pb-2
.
In inline mode, the latter will overwrite the former, and finally get padding:.5rem 1px
In Bundle mode, the final result depends on the browser.
§Implement Progress
tailwind-rs needs your help!
A lot of documentation and test cases are missing, you are welcome to pr!
See the tests
folder for details.
- Preflight
- Layout
-
aspect-ratio:
TailwindAspect
-
container:
TailwindContainer
-
columns:
TailwindColumns
-
break-after:
TailwindBreakAfter
-
break-before:
TailwindBreakBefore
-
break-inside:
TailwindBreakInside
-
box-decoration-break:
TailwindBoxDecoration
-
box-sizing: [
TailwindBoxSize
] -
display:
TailwindDisplay
-
float:
TailwindFloat
-
clear:
TailwindClear
-
isolation:
TailwindIsolation
-
object-fit:
TailwindObjectFit
-
object-position:
TailwindObjectPosition
-
overflow:
TailwindOverflow
-
overscroll-behavior:
TailwindOverscroll
-
position:
TailwindPosition
-
inset:
TailwindInset
-
left:
TailwindLeft
-
right:
TailwindRight
-
top:
TailwindTop
-
bottom:
TailwindBottom
-
visibility:
TailwindVisibility
-
z-index:
TailwindZIndex
-
aspect-ratio:
- Flexbox & Grid
-
flex-basis:
TailwindBasis
-
flex-direction:
TailwindFlexDirection
-
flex-wrap:
TailwindFlexWrap
-
flex:
TailwindFlex
-
flex-grow:
TailWindGrow
-
flex-shrink:
TailWindShrink
-
order:
TailWindOrder
-
grid-template-columns:
TailwindGridColumns
-
grid-template-rows:
TailwindGridRows
-
grid-column:
TailwindColumn
-
grid-row:
TailwindRow
-
grid-auto-flow:
TailwindGridFlow
-
grid-auto-columns:
TailwindGridAuto
-
grid-auto-rows:
TailwindGridAuto
-
gap:
TailwindGap
-
justify-content:
TailwindJustifyContent
-
justify-items:
TailwindJustifyItems
-
justify-self:
TailwindJustifySelf
-
justify-content:
TailwindContent
-
align-items:
TailwindContent
-
align-self:
TailwindItems
-
place-content:
TailwindPlaceContent
-
place-items:
TailwindPlaceItems
-
place-self:
TailwindPlaceSelf
-
flex-basis:
- Spacing
- Sizing
- Typography
-
font-family:
TailwindFontFamily
-
font-size:
TailwindFontSize
-
font-smoothing: [
FontSmoothing
] -
font-style:
TailwindFontStyle
-
font-weight:
TailwindFontWeight
-
font-variant-numeric:
TailwindFontVariantNumeric
-
letter-spacing:
TailwindTracking
-
line-height:
TailwindLeading
-
list-style-type:
TailwindListStyle
-
list-style-position:
TailwindListPosition
-
text-align:
TailwindTextAlignment
-
text-color:
TailwindTextColor
-
text-decoration:
TailwindDecoration
-
text-decoration-color:
TailwindDecorationColor
-
text-decoration-style:
TailwindDecorationThickness
-
text-decoration-thickness:
TailwindSizing
-
text-underline-offset:
TailwindUnderlineOffset
-
text-transform:
TailwindTextTransform
-
text-overflow:
TailwindOverflow
-
text-indent:
TailwindIndent
-
vertical-align:
TailwindAlign
-
whitespace:
TailwindWhiteSpace
-
word-break:
TailwindBreak
-
content:
TailwindContent
-
font-family:
- Backgrounds
-
background-attachment:
TailwindBackgroundAttachment
-
background-clip:
TailwindBackgroundClip
-
background-color:
TailwindBackgroundColor
-
background-origin:
TailwindBackgroundOrigin
-
background-position:
TailwindBackgroundPosition
-
background-repeat:
TailwindBackgroundRepeat
-
background-size:
TailwindBackgroundSize
-
background-image:
TailwindBackgroundImage
-
background-from:
TailwindFrom
-
background-via:
TailwindVia
-
background-to:
TailwindTo
-
background-attachment:
- Borders
-
border-radius:
TailwindRounded
-
border-width:
TailwindBorderWidth
-
border-color:
TailwindBorderColor
-
border-style:
TailwindBorderStyle
-
divide-width:
TailwindDivideWidth
-
divide-color:
TailwindDivideColor
-
divide-style:
TailwindDivideStyle
-
outline-width:
TailwindOutlineWidth
-
outline-color:
TailwindOutlineColor
-
outline-style:
TailwindOutlineStyle
-
ring-width:
TailwindRingWidth
-
ring-color:
TailwindRingColor
-
ring-offset-width:
TailwindRingOffsetWidth
-
ring-offset-width:
TailwindRingOffsetColor
-
border-radius:
- Effects
- Filters
-
blur:
TailwindBlur
-
brightness:
TailwindBrightness
-
contrast:
TailwindContrast
-
drop-shadow:
TailwindShadow
-
grayscale:
TailwindGrayscale
-
hue-rotate:
TailwindHueRotate
-
invert:
TailwindInvert
-
saturate:
TailwindSaturate
-
sepia:
TailwindSepia
-
backdrop-blur:
TailwindBlur
-
backdrop-brightness:
TailwindBrightness
-
backdrop-contrast:
TailwindContrast
-
backdrop-grayscale:
TailwindGrayscale
-
backdrop-hue-rotate:
TailwindHueRotate
-
backdrop-invert:
TailwindInvert
-
backdrop-opacity:
TailwindOpacity
-
backdrop-saturate:
TailwindSaturate
-
backdrop-sepia:
TailwindSepia
-
blur:
- Tables
- Transitions & Animation
- Transforms
- Interactivity
-
accent-color:
TailwindAccentColor
-
appearance:
TailwindAppearance
-
cursor:
TailwindCursor
-
caret-color:
TailwindCaretColor
-
pointer-events:
TailwindPointerEvents
-
resize:
TailwindResize
-
scroll-behavior:
TailwindOverscroll
-
scroll-margin:
TailwindScrollMargin
-
scroll-padding:
TailwindScrollPadding
-
scroll-snap-align:
TailwindSnapAlign
-
scroll-snap-stop:
TailwindSnapStop
-
scroll-snap-type:
TailwindSnapType
-
touch-action:
TailwindTorch
-
user-select:
TailwindSelect
-
will-change:
TailwindWillChange
-
accent-color:
- SVG
- Accessibility
Macros§
- attributes_
ensure - css_
attributes - Define a css record with a map-like syntax
- syntax_
error
Structs§
- Break
Point - Break
Point System - CssAttributes
- A css property is used to remove duplicates.
- Effect
System - Font
Size - Font
System - Important
Map - The
css-global-attribute
system. - Important
Set - The
css-global-attribute
system. - Negative
- Palette
- In general, it is a look-up table.
- Palette
System - Preflight
System - https://tailwindcss.com/docs/preflight
- Spacing
Axis - Tail
Wind Grow - Utilities for controlling how flex items grow.
- Tail
Wind Order - Tail
Wind Shrink - Tailwind
Accent Color - Tailwind
Align - Utilities for controlling the font smoothing of an element.
- Tailwind
Animate - Utilities for rotating elements with transform.
- Tailwind
Appearance - Tailwind
Arbitrary - Tailwind
Aspect - Utilities for controlling the aspect ratio of an element.
- Tailwind
Background Attachment - Utilities for controlling how a background image behaves when scrolling.
- Tailwind
Background Blend - Tailwind
Background Clip - Utilities for controlling the bounding box of an element’s background.
- Tailwind
Background Color - Tailwind
Background Image - Tailwind
Background Origin - Utilities for controlling how an element’s background is positioned relative to borders, padding, and content.
- Tailwind
Background Position - Tailwind
Background Repeat - Utilities for controlling the repetition of an element’s background image.
- Tailwind
Background Size - Utilities for controlling the background size of an element’s background image.
- Tailwind
Basis - Tailwind
Blend - Tailwind
Blur - Utilities for applying blur filters to an element.
- Tailwind
Border Collapse - Utilities for controlling whether table borders should collapse or be separated.
- Tailwind
Border Color - Tailwind
Border Style - https://developer.mozilla.org/zh-CN/docs/Web/CSS/border-style
- Tailwind
Border Width - Tailwind
Bottom - Utilities for controlling the placement of positioned elements.
- Tailwind
BoxDecoration - Utilities for controlling how element fragments should be rendered across multiple lines, columns, or pages.
- Tailwind
BoxSizing - Utilities for controlling how the browser should calculate an element’s total size.
- Tailwind
Break - Utilities for controlling the font smoothing of an element.
- Tailwind
Break After - Utilities for controlling how a column or page should break after an element.
- Tailwind
Break Before - Utilities for controlling how a column or page should break before an element.
- Tailwind
Break Inside - Utilities for controlling how a column or page should break within an element.
- Tailwind
Brightness - Utilities for applying brightness filters to an element.
- Tailwind
Builder - Tailwind
Caret Color - Tailwind
Clear - Utilities for controlling the wrapping of content around an element.
- Tailwind
Column - Tailwind
Columns - Utilities for controlling the number of columns within an element.
- Tailwind
Container - A component for fixing an element’s width to the current breakpoint.
- Tailwind
Content - Tailwind
Content Align - Tailwind
Contrast - https://tailwindcss.com/docs/contrast
- Tailwind
Cursor - Tailwind
Decoration - Tailwind
Decoration Color - Utilities for controlling the font smoothing of an element.
- Tailwind
Decoration Line - Utilities for controlling the font smoothing of an element.
- Tailwind
Decoration Style - Utilities for controlling the style of text decorations.
- Tailwind
Decoration Thickness - Utilities for controlling the font smoothing of an element.
- Tailwind
Delay - Utilities for controlling the delay of CSS transitions.
- Tailwind
Display - Utilities for controlling how the browser should calculate an element’s total size.
- Tailwind
Divide - Tailwind
Divide Color - Tailwind
Divide Reverse - Tailwind
Divide Style - Tailwind
Divide Width - Utilities for controlling the border width between elements.
- Tailwind
Duration - Utilities for controlling the duration of CSS transitions.
- Tailwind
Ease - Utilities for controlling the aspect ratio of an element.
- Tailwind
Elements - Tailwind
Error - Error type for all tailwind operators
- Tailwind
Fill Color - Tailwind
Flex - Tailwind
Flex Direction - Tailwind
Flex Wrap - Tailwind
Float - Utilities for controlling the wrapping of content around an element.
- Tailwind
Font Family - Utilities for controlling the font family of an element.
- Tailwind
Font Size - Utilities for controlling the font size of an element.
- Tailwind
Font Smoothing - Utilities for controlling the font smoothing of an element.
- Tailwind
Font Style - Utilities for controlling the font smoothing of an element.
- Tailwind
Font Variant Numeric - Utilities for controlling the font smoothing of an element.
- Tailwind
Font Weight - Tailwind
From - Tailwind
Gap - Tailwind
Grayscale - Utilities for applying grayscale filters to an element.
- Tailwind
Grid - Tailwind
Grid Auto - Tailwind
Grid Columns - Tailwind
Grid Flow - Tailwind
Grid Rows - Tailwind
HueRotate - Utilities for applying hue-rotate filters to an element.
- Tailwind
Indent - Utilities for controlling the font smoothing of an element.
- Tailwind
Inset - Utilities for controlling the placement of positioned elements.
- Tailwind
Instruction v:v:-a-a-[A]
- Tailwind
Invert - Utilities for applying invert filters to an element.
- Tailwind
Isolation - Utilities for controlling whether an element should explicitly create a new stacking context.
- Tailwind
Items - Tailwind
Justify Content - Utilities for controlling how flex and grid items are positioned along a container’s main axis..
- Tailwind
Justify Items - Utilities for controlling how grid items are aligned along their inline axis..
- Tailwind
Justify Self - Utilities for controlling how an individual grid item is aligned along its inline axis.
- Tailwind
Leading - Utilities for controlling the font smoothing of an element.
- Tailwind
Left - Utilities for controlling the placement of positioned elements.
- Tailwind
List Position - Utilities for controlling the font smoothing of an element.
- Tailwind
List Style - Utilities for controlling the font smoothing of an element.
- Tailwind
Margin - Tailwind
Object Fit - Utilities for controlling how a replaced element’s content should be resized.
- Tailwind
Object Position - Utilities for controlling how a replaced element’s content should be positioned within its container.
- Tailwind
Opacity - Utilities for controlling the opacity of an element.
- Tailwind
Origin - Tailwind
Outline Color - Tailwind
Outline Offset - Tailwind
Outline Style - Tailwind
Outline Width - Tailwind
Overflow - Utilities for controlling how an element handles content that is too large for the container.
- Tailwind
Overscroll - Utilities for controlling how the browser behaves when reaching the boundary of a scrolling area.
- Tailwind
Padding - Utilities for controlling an element’s padding.
- Tailwind
Place - Tailwind
Place Content - Tailwind
Place Items - Tailwind
Place Self - Tailwind
Pointer Events - Tailwind
Position - Utilities for controlling how an element is positioned in the DOM.
- Tailwind
Resize - Tailwind
Right - Utilities for controlling the placement of positioned elements.
- Tailwind
Ring - Tailwind
Ring Color - Tailwind
Ring Inset - Tailwind
Ring Offset Color - Tailwind
Ring Offset Width - Tailwind
Ring Width - Tailwind
Rotate - Utilities for rotating elements with transform.
- Tailwind
Rounded - Tailwind
Row - Tailwind
Saturate - Utilities for applying saturation filters to an element.
- Tailwind
Scale - Utilities for scaling elements with transform.
- Tailwind
Screen Reader - Utilities for improving accessibility with screen readers.
- Tailwind
Scroll Behavior - Tailwind
Scroll Margin - Tailwind
Scroll Padding - Tailwind
Select - Tailwind
Self - Utilities for controlling how an individual flex or grid item is positioned along its container’s cross axis.
- Tailwind
Sepia - Utilities for applying sepia filters to an element.
- Tailwind
Shadow - https://tailwindcss.com/docs/box-shadow
- Tailwind
Shadow Color - Utilities for controlling the color of a box shadow.
- Tailwind
Sizing |
width- Tailwind
Skew - Utilities for skewing elements with transform.
- Tailwind
Snap Align - Tailwind
Snap Stop - Tailwind
Snap Type - Tailwind
Space - Tailwind
Space Reverse - Tailwind
Stroke - Tailwind
Stroke Color - Tailwind
Stroke Width - Tailwind
Table Layout - Utilities for controlling the table layout algorithm.
- Tailwind
Text Alignment - Tailwind
Text Color - Tailwind
Text Overflow - Utilities for controlling the font smoothing of an element.
- Tailwind
Text Transform - Tailwind
To - Tailwind
Top - Utilities for controlling the placement of positioned elements.
- Tailwind
Torch - Tailwind
Tracking - Utilities for controlling the tracking (letter spacing) of an element.
- Tailwind
Transition - Utilities for controlling which CSS properties transition.
- Tailwind
Translate - Utilities for translating elements with transform.
- Tailwind
Underline Offset - Utilities for controlling the font smoothing of an element.
- Tailwind
Variant - Tailwind
Via - Tailwind
Visibility - Utilities for controlling the visibility of an element.
- Tailwind
White Space - Utilities for controlling the font smoothing of an element.
- Tailwind
Will Change - TailwindZ
Index - Utilities for controlling the stack order of an element.
Enums§
- Anchor
Point - Anchor points are used to position elements relative to the viewport.
- AxisXY
- CssInline
Mode - Length
Unit - Numeric
Value - Used to represent those attributes that only have integers
- Standard
Value - Used to represent those attributes that only have keywords
- Tailwind
Color - Tailwind
Error Kind - Actual error data for the error
- Tailwind
Variant Kind - https://github.com/tw-in-js/twind/blob/main/src/twind/variants.ts
- Unit
Value
Constants§
Traits§
- Base62
- Encodes a u64 hash to base-62 string.
- Tailwind
Instance
Functions§
Type Aliases§
- Result
- All result about tailwind