What is daisyui?
DaisyUI is a plugin for Tailwind CSS that provides a set of pre-designed components and utilities to help developers quickly build modern and responsive user interfaces. It extends Tailwind CSS with additional classes and components, making it easier to create consistent and visually appealing designs.
What are daisyui's main functionalities?
Pre-designed Components
DaisyUI offers a variety of pre-designed components such as buttons, cards, modals, and more. These components come with default styles that can be easily customized using Tailwind CSS classes.
<button class="btn btn-primary">Primary Button</button>
Utility Classes
In addition to components, DaisyUI provides utility classes that extend Tailwind CSS. These utilities help in quickly applying common styles like padding, margin, background colors, and more.
<div class="bg-base-200 p-4 rounded-lg">Content goes here</div>
Theming
DaisyUI supports theming, allowing developers to switch between different themes easily. This is useful for creating dark mode or other custom themes for your application.
<html data-theme="dark"><body>...</body></html>
Responsive Design
DaisyUI components are designed to be responsive out of the box. This means they adapt to different screen sizes, making it easier to build mobile-friendly applications.
<div class="card lg:card-side bg-base-100 shadow-xl">...</div>
Other packages similar to daisyui
tailwindcss
Tailwind CSS is a utility-first CSS framework that provides low-level utility classes to build custom designs. While DaisyUI extends Tailwind CSS with pre-designed components, Tailwind CSS itself focuses on providing the building blocks for custom designs.
bootstrap
Bootstrap is a popular CSS framework that provides a set of pre-designed components and a grid system. Unlike DaisyUI, which is a plugin for Tailwind CSS, Bootstrap is a standalone framework with its own set of design principles and utilities.
material-ui
Material-UI is a React component library that implements Google's Material Design. It offers a wide range of pre-designed components and theming capabilities. While DaisyUI is built on top of Tailwind CSS, Material-UI is a standalone library specifically for React applications.
ant-design
Ant Design is a comprehensive design system and React UI library. It provides a wide range of high-quality components and design guidelines. Similar to DaisyUI, it aims to help developers build consistent and visually appealing user interfaces, but it is specifically tailored for React applications.
DaisyUI 🌼
Unstyled (and styled) UI component library for Tailwind CSS users
Why do I need it?
↗︎ Utility first is fast and scalable but developing a scalable design system with utility first is messy, time consuming hard to manage. So why not put all basic skeleton of your UI components in one place and use it on all your design systems then use the power of utility first everywhere?
How does it work?
DaisyUI provides basic and unstyled component classes that you can use for almost all design systems. It also has an optional style that you can use if you don't want to fully design your components.
It's all based on tailwind so you can customize everything with utility classes and ↗︎ purge all unused class names.
What's included?
When you add DaisyUI as a Tailwind CSS plugin, it gives you ready-to-use UI component classes to use. Like btn
, card
, alert
, etc...
If you use the unstyled version, it has no color or visual style so you can fully style the components with Tailwind utility classes. If you use styled version, you get something pre-designed (like Bootstrap) but you can still customize it with Tailwind classes.
Concepts
- Typography, spacing, layout You will handle these with tailwind classes. We suggest using the official ↗︎ Tailwind Typography plugin
- Colors and theming You should ditch Tailwind's default and multi-purpose color set and set your custom set of colors for a DaisyUI project. (↗︎ Theming guide)
- Components (like button, card, etc...) DaisyUI will handle this
What is "preset"
module.exports = {
// ...
presets: [
require('daisyui/preset')
],
}
When you add DaisyUI preset it will replaces default tailwind colors with a set of semantic color set that is themeable and can be configed with CSS variables.
daisyui/preset
also adds a few borderRadius
that is used in components. They are also configurable with CSS variables.
1. Install
npm i daisyui
then add plugin and preset to tailwind.config.js
module.exports = {
plugins: [
require('daisyui/styled'), // 🌼 for styled UI
// require('daisyui'), // for base UI only
],
presets: [
require('daisyui/preset')
],
}
Or use a CDN
<link rel="stylesheet" href="https://unpkg.com/daisyui@latest/dist/styled.min.css" />
<link rel="stylesheet" href="https://unpkg.com/daisyui@latest/dist/base.min.css" />
2. Set up the colors for your design system (optional)
If you want to use your custom colors, you need to define the color values in your css. Colors must be themeable so we're using CSS Variables.
↗︎ Theming guide
Components
Todo