Uiverse - Największa Biblioteka Darmowych Elementów UI
Czym jest Uiverse?
Uiverse.io to największa na świecie biblioteka open-source'owych elementów UI, stworzona przez społeczność deweloperów. Z ponad 4000+ komponentami w CSS i Tailwind, Uiverse oferuje gotowe do użycia przyciski, karty, loadery, inputy, checkboxy i wiele więcej - wszystko za darmo i na licencji MIT.
Wyobraź sobie sytuację: potrzebujesz ładnego przycisku z efektem hover, ale nie chcesz tracić godzin na stylowanie. Wchodzisz na Uiverse, przeglądasz setki wariantów, klikasz "Copy" i wklejasz do swojego projektu. Koniec. To właśnie prostota, którą oferuje Uiverse.
W przeciwieństwie do tradycyjnych bibliotek komponentów jak Bootstrap czy Material UI, Uiverse nie wymaga instalacji żadnego pakietu. Każdy element to samodzielny fragment HTML/CSS, który kopiujesz bezpośrednio do swojego kodu. Zero zależności, zero konfiguracji.
Filozofia społeczności
Uiverse powstał z prostej idei: "Co gdyby każdy mógł dzielić się swoimi stylami UI?". Deweloperzy z całego świata mogą tworzyć i publikować własne elementy, budując w ten sposób największą kolekcję darmowych komponentów UI w internecie.
Strona
Website: uiverse.io
GitHub: github.com/uiverse-io/galaxy
Status: 4247+ elementów | Community-driven | Licencja MIT
Dlaczego Uiverse?
Problem z tradycyjnymi bibliotekami UI
Typowe podejścia do stylowania mają swoje wady:
Pełne biblioteki (Bootstrap, Material UI)
- Duży rozmiar bundle'a
- Trudna customizacja
- Spójny, ale "generyczny" wygląd
Tailwind components (płatne)
- Tailwind UI: $299 za dostęp
- Flowbite Pro: $149/rok
- Koszty szybko rosną
Pisanie od zera
- Czasochłonne
- Wymaga umiejętności CSS
- Łatwo o niespójności
Rozwiązanie Uiverse
Uiverse oferuje najlepsze z obu światów:
- Darmowe - Wszystko na licencji MIT
- Zero zależności - Czysty CSS lub Tailwind
- Customizable - Kod jest Twój, zmieniaj jak chcesz
- Wysokiej jakości - Przejrzane przez społeczność
- Ogromny wybór - 4000+ elementów
Uiverse vs alternatywy
| Cecha | Uiverse | Tailwind UI | Bootstrap | shadcn/ui |
|---|---|---|---|---|
| Koszt | Darmowe | $299 | Darmowe | Darmowe |
| Elementów | 4247+ | ~500 | ~100 | ~50 |
| Instalacja | Copy-paste | npm | npm | CLI |
| Zależności | Zero | Tailwind | Bootstrap | Tailwind+Radix |
| Customizacja | Pełna | Ograniczona | Trudna | Pełna |
| Community | Otwarte | Zamknięte | Otwarte | Otwarte |
Kategorie elementów
Buttons (Przyciski)
Największa kolekcja przycisków w internecie:
<!-- Neon Button -->
<button class="btn-neon">
<span>Hover me</span>
</button>
<style>
.btn-neon {
padding: 1rem 2rem;
font-size: 1rem;
color: #fff;
background: transparent;
border: 2px solid #0ff;
border-radius: 5px;
cursor: pointer;
transition: all 0.3s;
box-shadow: 0 0 5px #0ff, 0 0 25px #0ff, 0 0 50px #0ff;
}
.btn-neon:hover {
background: #0ff;
color: #000;
box-shadow: 0 0 5px #0ff, 0 0 25px #0ff, 0 0 50px #0ff, 0 0 100px #0ff;
}
</style>Rodzaje przycisków dostępnych na Uiverse:
- Gradient buttons
- Neon/glow buttons
- 3D buttons
- Animated buttons
- Social media buttons
- Icon buttons
- Toggle buttons
- Group buttons
Loaders & Spinners
Setki animowanych loaderów:
<!-- Bouncing Dots Loader -->
<div class="loader">
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
</div>
<style>
.loader {
display: flex;
gap: 8px;
}
.dot {
width: 12px;
height: 12px;
background: #3b82f6;
border-radius: 50%;
animation: bounce 0.5s ease-in-out infinite;
}
.dot:nth-child(2) { animation-delay: 0.1s; }
.dot:nth-child(3) { animation-delay: 0.2s; }
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-15px); }
}
</style>Typy loaderów:
- Spinners (circular)
- Dots (bouncing, pulsing)
- Bars (loading bars)
- Text loaders
- Skeleton loaders
- Progress indicators
- Infinite loaders
Cards
Karty do prezentacji treści:
<!-- Glassmorphism Card -->
<div class="glass-card">
<h2>Card Title</h2>
<p>Card description goes here</p>
</div>
<style>
.glass-card {
padding: 2rem;
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
border-radius: 16px;
border: 1px solid rgba(255, 255, 255, 0.2);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}
.glass-card h2 {
margin: 0 0 1rem;
color: #fff;
}
.glass-card p {
margin: 0;
color: rgba(255, 255, 255, 0.8);
}
</style>Rodzaje kart:
- Profile cards
- Product cards
- Pricing cards
- Blog post cards
- Statistics cards
- Feature cards
- Team member cards
- Testimonial cards
Inputs & Forms
Elementy formularzy:
<!-- Floating Label Input -->
<div class="input-group">
<input type="text" class="input" required>
<label class="label">Username</label>
</div>
<style>
.input-group {
position: relative;
}
.input {
width: 100%;
padding: 12px;
font-size: 16px;
border: 2px solid #ddd;
border-radius: 8px;
outline: none;
transition: border-color 0.3s;
}
.input:focus {
border-color: #3b82f6;
}
.label {
position: absolute;
left: 12px;
top: 50%;
transform: translateY(-50%);
color: #999;
pointer-events: none;
transition: all 0.3s;
}
.input:focus + .label,
.input:valid + .label {
top: 0;
font-size: 12px;
background: #fff;
padding: 0 4px;
color: #3b82f6;
}
</style>Typy inputów:
- Text inputs
- Search inputs
- Password inputs
- Email inputs
- Textarea
- Select dropdowns
- File upload
- Date pickers
Checkboxes & Toggles
Niestandardowe checkboxy i przełączniki:
<!-- Custom Checkbox -->
<label class="checkbox">
<input type="checkbox">
<span class="checkmark"></span>
Accept terms
</label>
<style>
.checkbox {
display: flex;
align-items: center;
gap: 10px;
cursor: pointer;
user-select: none;
}
.checkbox input {
display: none;
}
.checkmark {
width: 24px;
height: 24px;
border: 2px solid #ddd;
border-radius: 6px;
position: relative;
transition: all 0.2s;
}
.checkbox input:checked + .checkmark {
background: #3b82f6;
border-color: #3b82f6;
}
.checkbox input:checked + .checkmark::after {
content: '';
position: absolute;
left: 7px;
top: 3px;
width: 6px;
height: 12px;
border: solid #fff;
border-width: 0 2px 2px 0;
transform: rotate(45deg);
}
</style>Inne kategorie
- Modals - Okna modalne i dialogi
- Tooltips - Podpowiedzi
- Navbars - Nawigacja
- Footers - Stopki
- Tabs - Zakładki
- Accordions - Akordeony
- Badges - Odznaki
- Alerts - Powiadomienia
- Breadcrumbs - Ścieżki nawigacji
- Pagination - Paginacja
Jak używać Uiverse
Metoda 1: Copy-Paste (Najprostsza)
- Wejdź na uiverse.io
- Przeglądaj lub szukaj elementów
- Kliknij na wybrany element
- Kliknij "Copy" (HTML lub CSS)
- Wklej do swojego projektu
Metoda 2: Tailwind Version
Wiele elementów ma wersję Tailwind:
<!-- Uiverse Button - Tailwind version -->
<button class="px-6 py-3 bg-gradient-to-r from-purple-500 to-pink-500
text-white font-semibold rounded-lg shadow-lg
hover:shadow-purple-500/50 hover:scale-105
transition-all duration-300">
Click me
</button>Metoda 3: Figma Integration
Uiverse oferuje integrację z Figma:
- Zainstaluj plugin Uiverse dla Figma
- Przeglądaj elementy bezpośrednio w Figma
- Wstawiaj jako komponenty do designu
Tworzenie i publikowanie
Jak dodać własny element
- Utwórz element na uiverse.io/create
- Napisz kod HTML i CSS (lub Tailwind)
- Podgląd - zobacz jak wygląda
- Submit - wyślij do recenzji
- Approval - po zatwierdzeniu pojawi się w bibliotece
<!-- Przykład submission -->
<div class="my-awesome-card">
<div class="card-icon">✨</div>
<h3>Awesome Card</h3>
<p>Created by @yourname</p>
</div>
<style>
.my-awesome-card {
/* Twoje style */
}
</style>Wytyczne dla kontrybutorów
- Element musi być oryginalny
- Kod musi być czysty i czytelny
- Responsywność jest mile widziana
- Animacje powinny być płynne
- Accessibility jest ważne
Integracja z frameworkami
React
// components/UiverseButton.tsx
import './uiverse-button.css'
export function UiverseButton({ children, onClick }) {
return (
<button className="uiverse-btn" onClick={onClick}>
<span>{children}</span>
</button>
)
}Vue
<template>
<button class="uiverse-btn" @click="$emit('click')">
<span><slot /></span>
</button>
</template>
<style scoped>
@import './uiverse-button.css';
</style>Next.js z Tailwind
// Bezpośrednio używaj Tailwind classes z Uiverse
export function GlowButton({ children }) {
return (
<button className="
relative px-8 py-4
bg-gradient-to-r from-cyan-500 to-blue-500
text-white font-bold rounded-xl
shadow-[0_0_20px_rgba(6,182,212,0.5)]
hover:shadow-[0_0_40px_rgba(6,182,212,0.8)]
transition-all duration-300
">
{children}
</button>
)
}Tips & tricks
Customizacja kolorów
Większość elementów Uiverse używa CSS custom properties lub bezpośrednich wartości. Możesz łatwo zmienić kolory:
/* Oryginał z Uiverse */
.btn {
background: #3b82f6;
}
/* Twoja customizacja */
.btn {
background: var(--primary-color, #3b82f6);
}
/* Użycie */
:root {
--primary-color: #8b5cf6; /* Twój kolor */
}Responsywność
Dodaj media queries do elementów:
.card {
padding: 2rem;
width: 400px;
}
@media (max-width: 640px) {
.card {
padding: 1rem;
width: 100%;
}
}Dark mode
Większość elementów można łatwo dostosować do dark mode:
/* Light mode */
.card {
background: #fff;
color: #333;
}
/* Dark mode */
@media (prefers-color-scheme: dark) {
.card {
background: #1f2937;
color: #f3f4f6;
}
}
/* Lub z klasą */
.dark .card {
background: #1f2937;
color: #f3f4f6;
}FAQ - Najczęściej zadawane pytania
Czy mogę używać elementów komercyjnie?
Tak! Wszystkie elementy są na licencji MIT. Możesz używać ich w projektach komercyjnych bez żadnych ograniczeń.
Czy muszę dawać credit?
Nie, ale będziemy wdzięczni jeśli wspomożesz społeczność gwiazdką na GitHubie lub linkiem do Uiverse.
Czy elementy są responsywne?
Większość tak, ale nie wszystkie. Sprawdź konkretny element przed użyciem. Możesz też łatwo dodać responsywność samemu.
Czy mogę modyfikować elementy?
Oczywiście! To główna zaleta podejścia copy-paste. Kod jest Twój - zmień kolory, rozmiary, animacje jak chcesz.
Jak zgłosić błąd?
Otwórz issue na GitHubie Uiverse lub skontaktuj się przez Discord.
Czy są elementy dla React/Vue?
Elementy są w czystym HTML/CSS, ale łatwo je zintegrować z każdym frameworkiem. Wystarczy skopiować CSS i użyć odpowiedniej struktury HTML w komponencie.
Podsumowanie
Uiverse to niezbędne narzędzie dla każdego frontend developera:
- 4247+ elementów - Przyciski, karty, loadery, inputy i więcej
- Darmowe - Wszystko na licencji MIT
- Zero zależności - Czysty CSS lub Tailwind
- Copy-paste - Natychmiastowe użycie
- Community-driven - Stale rosnąca biblioteka
- Customizable - Pełna kontrola nad kodem
Zamiast tracić godziny na stylowanie, skorzystaj z pracy tysięcy deweloperów i skup się na tym, co naprawdę ważne - logice Twojej aplikacji.
Uiverse - The Largest Free UI Elements Library
What is Uiverse?
Uiverse.io is the world's largest open-source UI elements library, created by a community of developers. With over 4,000+ components in CSS and Tailwind, Uiverse offers ready-to-use buttons, cards, loaders, inputs, checkboxes, and much more - all free and MIT licensed.
Imagine this situation: you need a nice button with a hover effect, but don't want to spend hours styling it. You go to Uiverse, browse hundreds of variants, click "Copy" and paste into your project. Done. That's the simplicity Uiverse offers.
Unlike traditional component libraries like Bootstrap or Material UI, Uiverse doesn't require installing any package. Each element is a standalone HTML/CSS snippet that you copy directly into your code. Zero dependencies, zero configuration.
Community philosophy
Uiverse was born from a simple idea: "What if everyone could share their UI styles?" Developers from around the world can create and publish their own elements, building the largest collection of free UI components on the internet.
Website
Website: uiverse.io
GitHub: github.com/uiverse-io/galaxy
Status: 4247+ elements | Community-driven | MIT License
Why Uiverse?
The problem with traditional UI libraries
Typical styling approaches have their drawbacks:
Full libraries (Bootstrap, Material UI)
- Large bundle size
- Difficult customization
- Consistent but "generic" look
Tailwind components (paid)
- Tailwind UI: $299 for access
- Flowbite Pro: $149/year
- Costs add up quickly
Writing from scratch
- Time-consuming
- Requires CSS skills
- Easy to create inconsistencies
The Uiverse solution
Uiverse offers the best of both worlds:
- Free - Everything under MIT license
- Zero dependencies - Pure CSS or Tailwind
- Customizable - The code is yours, change it as you want
- High quality - Reviewed by the community
- Huge selection - 4000+ elements
Uiverse vs alternatives
| Feature | Uiverse | Tailwind UI | Bootstrap | shadcn/ui |
|---|---|---|---|---|
| Cost | Free | $299 | Free | Free |
| Elements | 4247+ | ~500 | ~100 | ~50 |
| Installation | Copy-paste | npm | npm | CLI |
| Dependencies | Zero | Tailwind | Bootstrap | Tailwind+Radix |
| Customization | Full | Limited | Difficult | Full |
| Community | Open | Closed | Open | Open |
Element categories
Buttons
The largest button collection on the internet:
<!-- Neon Button -->
<button class="btn-neon">
<span>Hover me</span>
</button>
<style>
.btn-neon {
padding: 1rem 2rem;
font-size: 1rem;
color: #fff;
background: transparent;
border: 2px solid #0ff;
border-radius: 5px;
cursor: pointer;
transition: all 0.3s;
box-shadow: 0 0 5px #0ff, 0 0 25px #0ff, 0 0 50px #0ff;
}
.btn-neon:hover {
background: #0ff;
color: #000;
box-shadow: 0 0 5px #0ff, 0 0 25px #0ff, 0 0 50px #0ff, 0 0 100px #0ff;
}
</style>Types of buttons available on Uiverse:
- Gradient buttons
- Neon/glow buttons
- 3D buttons
- Animated buttons
- Social media buttons
- Icon buttons
- Toggle buttons
- Group buttons
Loaders & Spinners
Hundreds of animated loaders:
<!-- Bouncing Dots Loader -->
<div class="loader">
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
</div>
<style>
.loader {
display: flex;
gap: 8px;
}
.dot {
width: 12px;
height: 12px;
background: #3b82f6;
border-radius: 50%;
animation: bounce 0.5s ease-in-out infinite;
}
.dot:nth-child(2) { animation-delay: 0.1s; }
.dot:nth-child(3) { animation-delay: 0.2s; }
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-15px); }
}
</style>Types of loaders:
- Spinners (circular)
- Dots (bouncing, pulsing)
- Bars (loading bars)
- Text loaders
- Skeleton loaders
- Progress indicators
- Infinite loaders
Cards
Cards for content presentation:
<!-- Glassmorphism Card -->
<div class="glass-card">
<h2>Card Title</h2>
<p>Card description goes here</p>
</div>
<style>
.glass-card {
padding: 2rem;
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
border-radius: 16px;
border: 1px solid rgba(255, 255, 255, 0.2);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}
.glass-card h2 {
margin: 0 0 1rem;
color: #fff;
}
.glass-card p {
margin: 0;
color: rgba(255, 255, 255, 0.8);
}
</style>Types of cards:
- Profile cards
- Product cards
- Pricing cards
- Blog post cards
- Statistics cards
- Feature cards
- Team member cards
- Testimonial cards
Inputs & Forms
Form elements:
<!-- Floating Label Input -->
<div class="input-group">
<input type="text" class="input" required>
<label class="label">Username</label>
</div>
<style>
.input-group {
position: relative;
}
.input {
width: 100%;
padding: 12px;
font-size: 16px;
border: 2px solid #ddd;
border-radius: 8px;
outline: none;
transition: border-color 0.3s;
}
.input:focus {
border-color: #3b82f6;
}
.label {
position: absolute;
left: 12px;
top: 50%;
transform: translateY(-50%);
color: #999;
pointer-events: none;
transition: all 0.3s;
}
.input:focus + .label,
.input:valid + .label {
top: 0;
font-size: 12px;
background: #fff;
padding: 0 4px;
color: #3b82f6;
}
</style>Types of inputs:
- Text inputs
- Search inputs
- Password inputs
- Email inputs
- Textarea
- Select dropdowns
- File upload
- Date pickers
Checkboxes & Toggles
Custom checkboxes and switches:
<!-- Custom Checkbox -->
<label class="checkbox">
<input type="checkbox">
<span class="checkmark"></span>
Accept terms
</label>
<style>
.checkbox {
display: flex;
align-items: center;
gap: 10px;
cursor: pointer;
user-select: none;
}
.checkbox input {
display: none;
}
.checkmark {
width: 24px;
height: 24px;
border: 2px solid #ddd;
border-radius: 6px;
position: relative;
transition: all 0.2s;
}
.checkbox input:checked + .checkmark {
background: #3b82f6;
border-color: #3b82f6;
}
.checkbox input:checked + .checkmark::after {
content: '';
position: absolute;
left: 7px;
top: 3px;
width: 6px;
height: 12px;
border: solid #fff;
border-width: 0 2px 2px 0;
transform: rotate(45deg);
}
</style>Other categories
- Modals - Modal windows and dialogs
- Tooltips - Hints and tips
- Navbars - Navigation bars
- Footers - Page footers
- Tabs - Tab components
- Accordions - Collapsible content
- Badges - Status badges
- Alerts - Notifications
- Breadcrumbs - Navigation paths
- Pagination - Page navigation
How to use Uiverse
Method 1: Copy-Paste (Simplest)
- Go to uiverse.io
- Browse or search for elements
- Click on your chosen element
- Click "Copy" (HTML or CSS)
- Paste into your project
Method 2: Tailwind version
Many elements have a Tailwind version:
<!-- Uiverse Button - Tailwind version -->
<button class="px-6 py-3 bg-gradient-to-r from-purple-500 to-pink-500
text-white font-semibold rounded-lg shadow-lg
hover:shadow-purple-500/50 hover:scale-105
transition-all duration-300">
Click me
</button>Method 3: Figma integration
Uiverse offers Figma integration:
- Install the Uiverse plugin for Figma
- Browse elements directly in Figma
- Insert them as components in your design
Creating and publishing
How to add your own element
- Create an element at uiverse.io/create
- Write the code HTML and CSS (or Tailwind)
- Preview - see how it looks
- Submit - send for review
- Approval - once approved, it appears in the library
<!-- Example submission -->
<div class="my-awesome-card">
<div class="card-icon">✨</div>
<h3>Awesome Card</h3>
<p>Created by @yourname</p>
</div>
<style>
.my-awesome-card {
/* Your styles */
}
</style>Guidelines for contributors
- Element must be original
- Code must be clean and readable
- Responsiveness is welcome
- Animations should be smooth
- Accessibility is important
Framework integration
React
// components/UiverseButton.tsx
import './uiverse-button.css'
export function UiverseButton({ children, onClick }) {
return (
<button className="uiverse-btn" onClick={onClick}>
<span>{children}</span>
</button>
)
}Vue
<template>
<button class="uiverse-btn" @click="$emit('click')">
<span><slot /></span>
</button>
</template>
<style scoped>
@import './uiverse-button.css';
</style>Next.js with Tailwind
// Directly use Tailwind classes from Uiverse
export function GlowButton({ children }) {
return (
<button className="
relative px-8 py-4
bg-gradient-to-r from-cyan-500 to-blue-500
text-white font-bold rounded-xl
shadow-[0_0_20px_rgba(6,182,212,0.5)]
hover:shadow-[0_0_40px_rgba(6,182,212,0.8)]
transition-all duration-300
">
{children}
</button>
)
}Tips & tricks
Color customization
Most Uiverse elements use CSS custom properties or direct values. You can easily change colors:
/* Original from Uiverse */
.btn {
background: #3b82f6;
}
/* Your customization */
.btn {
background: var(--primary-color, #3b82f6);
}
/* Usage */
:root {
--primary-color: #8b5cf6; /* Your color */
}Responsiveness
Add media queries to elements:
.card {
padding: 2rem;
width: 400px;
}
@media (max-width: 640px) {
.card {
padding: 1rem;
width: 100%;
}
}Dark mode
Most elements can be easily adapted for dark mode:
/* Light mode */
.card {
background: #fff;
color: #333;
}
/* Dark mode */
@media (prefers-color-scheme: dark) {
.card {
background: #1f2937;
color: #f3f4f6;
}
}
/* Or with a class */
.dark .card {
background: #1f2937;
color: #f3f4f6;
}FAQ - Frequently asked questions
Can I use elements commercially?
Yes! All elements are MIT licensed. You can use them in commercial projects without any restrictions.
Do I need to give credit?
No, but we'd be grateful if you support the community with a star on GitHub or a link to Uiverse.
Are elements responsive?
Most are, but not all. Check the specific element before using. You can also easily add responsiveness yourself.
Can I modify elements?
Absolutely! That's the main advantage of the copy-paste approach. The code is yours - change colors, sizes, animations as you wish.
How do I report a bug?
Open an issue on Uiverse GitHub or contact us through Discord.
Are there elements for React/Vue?
Elements are in pure HTML/CSS, but they're easy to integrate with any framework. Just copy the CSS and use the appropriate HTML structure in your component.
Summary
Uiverse is an essential tool for every frontend developer:
- 4247+ elements - Buttons, cards, loaders, inputs, and more
- Free - Everything under MIT license
- Zero dependencies - Pure CSS or Tailwind
- Copy-paste - Instant usage
- Community-driven - Constantly growing library
- Customizable - Full control over code
Instead of spending hours on styling, leverage the work of thousands of developers and focus on what really matters - your application's logic.