| name | daisyui-usage |
| description | MANDATORY usage rules for daisyUI 5 |
daisyUI 5 usage rules
- We can give styles to a HTML element by adding daisyUI class names to it. By adding a component class name, part class names (if there's any available for that component), and modifier class names (if there's any available for that component)
- Components can be customized using Tailwind CSS utility classes if the customization is not possible using the existing daisyUI classes. For example
btn px-10 sets a custom horizontal padding to a btn
- If customization of daisyUI styles using Tailwind CSS utility classes didn't work because of CSS specificity issues, you can use the
! at the end of the Tailwind CSS utility class to override the existing styles. For example btn bg-red-500! sets a custom background color to a btn forcefully. This is a last resort solution and should be used sparingly
- If a specific component or something similar to it doesn't exist in daisyUI, you can create your own component using Tailwind CSS utility
- when using Tailwind CSS
flex and grid for layout, it should be responsive using Tailwind CSS responsive utility prefixes.
- Only allowed class names are existing daisyUI class names or Tailwind CSS utility classes.
- Ideally, you won't need to write any custom CSS. Using daisyUI class names or Tailwind CSS utility classes is preferred.
- Suggested - if you need placeholder images, use https://picsum.photos/200/300 with the size you want
- Suggested - when designing, don't add a custom font unless it's necessary
- Don't add
bg-base-100 text-base-content to body unless it's necessary
- For design decisions, use Refactoring UI book best practices
- Always use the default variant of daisyUI components unless the user asked for a specific variant or color. For example when you need a button, do not use
btn btn-primary, prefer btn, unless the user asked for a specific variant.
daisyUI 5 class names are one of the following categories. These type names are only for reference and are not used in the actual code
component: the required component class
part: a child part of a component
style: sets a specific style to component or part
behavior: changes the behavior of component or part
color: sets a specific color to component or part
size: sets a specific size to component or part
placement: sets a specific placement to component or part
direction: sets a specific direction to component or part
modifier: modifies the component or part in a specific way
variant: prefixes for utility classes that conditionally apply styles. syntax is variant:utility-class