Basic Card
Featured
This is a basic card with the .daisy-card class.
It has subtle shadows and a hover effect.
A beautiful DaisyUI-inspired theme for PicoCSS v2. All the simplicity of PicoCSS with the aesthetic beauty of DaisyUI.
Get started with Pico-Daisy UI in seconds.
Use the CDN link or download the CSS file and link it in your HTML <head>.
<!-- Default Theme (Violet) -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/josuebrunel/picodaisy@latest/pico-daisy.css">
<!-- Or local file -->
<link rel="stylesheet" href="pico-daisy.css">
<!-- Blue Theme -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/josuebrunel/picodaisy@latest/pico-daisy.blue.css">
<!-- Or local file -->
<link rel="stylesheet" href="pico-daisy.blue.css">
<!-- Red Theme -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/josuebrunel/picodaisy@latest/pico-daisy.red.css">
<!-- Or local file -->
<link rel="stylesheet" href="pico-daisy.red.css">
<!-- Green Theme -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/josuebrunel/picodaisy@latest/pico-daisy.green.css">
<!-- Or local file -->
<link rel="stylesheet" href="pico-daisy.green.css">
<!-- Teal Theme -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/josuebrunel/picodaisy@latest/pico-daisy.teal.css">
<!-- Or local file -->
<link rel="stylesheet" href="pico-daisy.teal.css">
<!-- Light Grey Theme -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/josuebrunel/picodaisy@latest/pico-daisy.light-grey.css">
<!-- Or local file -->
<link rel="stylesheet" href="pico-daisy.light-grey.css">
<!-- Dark Grey Theme -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/josuebrunel/picodaisy@latest/pico-daisy.dark-grey.css">
<!-- Or local file -->
<link rel="stylesheet" href="pico-daisy.dark-grey.css">
Note: Each file includes PicoCSS v2 automatically via @import.
Versatile layouts for your landing page.
Optimize your development process with our components. Designed to be flexible, responsive, and easy to integrate.
<div class="daisy-hero">
<div class="daisy-hero-content flex-row-reverse">
<div>
<img src="image.jpg">
</div>
<div>
<h2>Modern Workflow</h2>
<p>Optimize your development...</p>
<button class="primary">Learn More</button>
</div>
</div>
</div>
Use an overlay to make text readable on busy background images.
<!-- Hero with Overlay -->
<div class="daisy-hero" style="background-image: url(bg.jpg);">
<div class="daisy-hero-overlay"></div>
<div class="daisy-hero-content">
<div>
<h1>Title</h1>
<p>Description...</p>
</div>
</div>
</div>
Display key metrics with style using the responsive stats component.
<div class="daisy-stats">
<div class="daisy-stat">
<div class="daisy-stat-value">12.8k</div>
<div class="daisy-stat-title">Total Users</div>
</div>
<!-- More stats... -->
</div>
Feedback components for user actions.
<div class="daisy-alert alert-info">
<span>ℹ</span>
<div>
<strong>Information</strong><br>
This is an informational alert.
</div>
</div>
<!-- Alert with close button -->
<div class="daisy-alert alert-success">
<span>✓</span>
<div><strong>Success!</strong> Saved successfully.</div>
<button class="alert-close">×</button>
</div>
Conversation UI elements.
<div class="daisy-chat">
<div class="chat-message chat-start">
<div class="chat-bubble">Hey there!</div>
</div>
<div class="chat-message chat-end">
<div class="chat-bubble">Hello!</div>
</div>
</div>
Versatile containers for content.
This is a basic card with the .daisy-card class.
It has subtle shadows and a hover effect.
Cards can contain images, forms, or any other content. The styling remains consistent across all cards.
<article class="daisy-card">
<header>
<h3>Card Title</h3>
<span class="badge badge-primary">Badge</span>
</header>
<p>Card content goes here...</p>
<footer>
<button>Action</button>
</footer>
</article>
Small status indicators.
<!-- Solid Badges -->
<span class="badge">Default</span>
<span class="badge badge-primary">Primary</span>
<!-- Outline Badges -->
<span class="badge badge-outline">Default</span>
<span class="badge badge-primary badge-outline">Primary</span>
Enhanced form controls with focus states.
<form>
<div class="grid">
<label>
First Name
<input type="text" placeholder="John" required>
</label>
<label>
Last Name
<input type="text" placeholder="Doe" required>
</label>
</div>
<label>
Email
<input type="email" placeholder="email@example.com">
</label>
<fieldset>
<label>
<input type="checkbox" role="switch">
Subscribe to newsletter
</label>
</fieldset>
<button type="submit">Submit</button>
</form>
Containers for your data visualizations.
Monthly traffic and engagement metrics
Chart.js / ApexCharts / Other Library
Your chart visualization would render here<div class="daisy-chart-wrapper">
<div class="daisy-chart-header">
<div>
<h3 class="daisy-chart-title">Analytics</h3>
<p class="daisy-chart-subtitle">Monthly traffic</p>
</div>
<div class="daisy-chart-toolbar">
<button class="chart-toolbar-btn active">1M</button>
</div>
</div>
<!-- Chart Container -->
<div>
<canvas id="myChart"></canvas>
</div>
</div>
Progress indicators for multi-step workflows.
<ul class="daisy-steps">
<li class="daisy-step daisy-step-primary">Register</li>
<li class="daisy-step">Choose Plan</li>
</ul>
Profile pictures and groups.
<!-- Single Avatar -->
<div class="daisy-avatar">
<div style="width: 4rem;">
<img src="avatar.jpg">
</div>
</div>
<!-- Avatar Group -->
<div class="daisy-avatar-group">
<div class="daisy-avatar">...</div>
<div class="daisy-avatar">...</div>
</div>
Group items together seamlessly.
<!-- Input Group -->
<div class="daisy-join">
<input class="join-item" placeholder="Search...">
<button class="join-item secondary">Subscribe</button>
</div>
<!-- Button Group -->
<div class="daisy-join">
<button class="join-item">One</button>
<button class="join-item">Two</button>
</div>
Visually separate content.
<div class="flex flex-col w-full">
<div>Content A</div>
<div class="daisy-divider">OR</div>
<div>Content B</div>
</div>
Feedback and state indicators.
<!-- Tooltips -->
<div data-tip="Hello!" class="daisy-tooltip-top">
<button>Hover me</button>
</div>
<!-- Loading Spinners -->
<span class="daisy-loading loading-spinner"></span>
<span class="daisy-loading loading-dots"></span>
Notifications that stack.
Toasts are fixed positioned by default. The above example is contained for demo purposes.
<div class="daisy-toast daisy-toast-end daisy-toast-bottom">
<div class="daisy-alert alert-info">
<span>New message arrived.</span>
</div>
</div>
The vibrant colors that define the theme.
Seamless switching between light and dark themes.
<!-- Set initial theme -->
<html data-theme="dark">
<!-- Or light theme -->
<html data-theme="light">
// Toggle theme function
function toggleTheme() {
const html = document.documentElement;
const currentTheme = html.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
html.setAttribute('data-theme', newTheme);
}