logo
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.

Macros

Define a css record with a map-like syntax

Structs

A css property is used to remove duplicates.
The css-global-attribute system.
The css-global-attribute system.
In general, it is a look-up table.
Utilities for controlling how flex items grow.
Utilities for controlling the font smoothing of an element.
Utilities for rotating elements with transform.
Utilities for controlling the aspect ratio of an element.
Utilities for controlling how a background image behaves when scrolling.
Utilities for controlling the bounding box of an element’s background.
Utilities for controlling how an element’s background is positioned relative to borders, padding, and content.
Utilities for controlling the repetition of an element’s background image.
Utilities for controlling the background size of an element’s background image.
Utilities for applying blur filters to an element.
Utilities for controlling whether table borders should collapse or be separated.
https://developer.mozilla.org/zh-CN/docs/Web/CSS/border-style
Utilities for controlling the placement of positioned elements.
Utilities for controlling how element fragments should be rendered across multiple lines, columns, or pages.
Utilities for controlling how the browser should calculate an element’s total size.
Utilities for controlling the font smoothing of an element.
Utilities for controlling how a column or page should break after an element.
Utilities for controlling how a column or page should break before an element.
Utilities for controlling how a column or page should break within an element.
Utilities for applying brightness filters to an element.
Utilities for controlling the wrapping of content around an element.
Utilities for controlling the number of columns within an element.
A component for fixing an element’s width to the current breakpoint.
https://tailwindcss.com/docs/contrast
Utilities for controlling the font smoothing of an element.
Utilities for controlling the font smoothing of an element.
Utilities for controlling the style of text decorations.
Utilities for controlling the font smoothing of an element.
Utilities for controlling the delay of CSS transitions.
Utilities for controlling how the browser should calculate an element’s total size.
Utilities for controlling the border width between elements.
Utilities for controlling the duration of CSS transitions.
Utilities for controlling the aspect ratio of an element.
Error type for all tailwind operators
Utilities for controlling the wrapping of content around an element.
Utilities for controlling the font family of an element.
Utilities for controlling the font size of an element.
Utilities for controlling the font smoothing of an element.
Utilities for controlling the font smoothing of an element.
Utilities for controlling the font smoothing of an element.
Utilities for applying grayscale filters to an element.
Utilities for applying hue-rotate filters to an element.
Utilities for controlling the font smoothing of an element.
Utilities for controlling the placement of positioned elements.
Utilities for applying invert filters to an element.
Utilities for controlling whether an element should explicitly create a new stacking context.
Utilities for controlling how flex and grid items are positioned along a container’s main axis..
Utilities for controlling how grid items are aligned along their inline axis..
Utilities for controlling how an individual grid item is aligned along its inline axis.
Utilities for controlling the font smoothing of an element.
Utilities for controlling the placement of positioned elements.
Utilities for controlling the font smoothing of an element.
Utilities for controlling the font smoothing of an element.
Utilities for controlling how a replaced element’s content should be resized.
Utilities for controlling how a replaced element’s content should be positioned within its container.
Utilities for controlling the opacity of an element.
Utilities for controlling how an element handles content that is too large for the container.
Utilities for controlling how the browser behaves when reaching the boundary of a scrolling area.
Utilities for controlling an element’s padding.
Utilities for controlling how an element is positioned in the DOM.
Utilities for controlling the placement of positioned elements.
Utilities for rotating elements with transform.
Utilities for applying saturation filters to an element.
Utilities for scaling elements with transform.
Utilities for improving accessibility with screen readers.
Utilities for controlling how an individual flex or grid item is positioned along its container’s cross axis.
Utilities for applying sepia filters to an element.
https://tailwindcss.com/docs/box-shadow
Utilities for controlling the color of a box shadow.
Utilities for skewing elements with transform.
Utilities for controlling the table layout algorithm.
Utilities for controlling the font smoothing of an element.
Utilities for controlling the placement of positioned elements.
Utilities for controlling the tracking (letter spacing) of an element.
Utilities for controlling which CSS properties transition.
Utilities for translating elements with transform.
Utilities for controlling the font smoothing of an element.
Utilities for controlling the visibility of an element.
Utilities for controlling the font smoothing of an element.
Utilities for controlling the stack order of an element.

Enums

Anchor points are used to position elements relative to the viewport.
Used to represent those attributes that only have integers
Used to represent those attributes that only have keywords
Actual error data for the error

Constants

Traits

Encodes a u64 hash to base-62 string.

Functions

Type Definitions

All result about tailwind