Atklājiet Tailwind CSS grupu variantu jaudu, lai stilizētu elementus, pamatojoties uz to vecākelementa stāvokli. Apgūstiet praktiskus piemērus un progresīvas metodes, lai veidotu sarežģītas un responsīvas lietotāja saskarnes.
Tailwind CSS grupu variantu apguve: vecākelementu stāvokļu stils dinamiskām saskarnēm
Nepārtraukti mainīgajā front-end izstrādes vidē dinamisku un interaktīvu lietotāja saskarņu veidošana ir ļoti svarīga. Tādi ietvari kā Tailwind CSS ir radījuši revolūciju mūsu pieejā stilam, piedāvājot uz utilītām balstītu pieeju (utility-first), kas uzsver ātrumu, konsekvenci un uzturēšanas vieglumu. Lai gan Tailwind pamatā esošās utilītu klases ir neticami spēcīgas, izpratne par tā progresīvākajām funkcijām var pacelt jūsu dizainus no funkcionāliem līdz patiesi izciliem. Viena no šādām spēcīgām, taču reizēm nepietiekami izmantotām funkcijām ir grupu varianti.
Grupu varianti ļauj jums stilizēt bērnu elementus, pamatojoties uz to vecākelementa stāvokli, kas ir koncepts, kas var dramatiski vienkāršot sarežģītus stila scenārijus un novest pie robustāka un uzturēšanas ziņā vienkāršāka koda. Šī rokasgrāmata iedziļināsies Tailwind CSS grupu variantu pasaulē, pētot, kas tie ir, kāpēc tie ir būtiski un kā tos efektīvi ieviest, izmantojot praktiskus, globāli atbilstošus piemērus.
Kas ir Tailwind CSS grupu varianti?
Savā būtībā Tailwind CSS darbojas pēc principa, ka utilītu klases tiek piemērotas tieši jūsu HTML elementiem. Tomēr, ja nepieciešams stilizēt elementu, pamatojoties uz cita elementa – īpaši tā vecākelementa – stāvokli, tradicionālās “utility-first” pieejas var kļūt apgrūtinošas. Jūs varat attapties, ka izmantojat pielāgotas CSS klases, uz JavaScript balstītu stāvokļu pārvaldību vai pārlieku sarežģītas selektoru ķēdes.
Grupu varianti, kas ieviesti Tailwind CSS v3.0 versijā, nodrošina elegantu risinājumu. Tie ļauj jums definēt pielāgotus variantus, kurus var aktivizēt, kad konkrēts vecākelements atbilst noteiktiem kritērijiem, piemēram, kad tam tiek uzvirzīts peles kursors (hover), tas ir fokusā vai aktīvs. Tas nozīmē, ka jūs varat rakstīt stilus tieši savā HTML kodā, kas reaģē uz vecākelementa stāvokli, neatstājot “utility-first” paradigmu.
Grupu variantu sintakse ietver utilītas klases prefiksu group-
, kam seko stāvoklis. Piemēram, ja vēlaties mainīt bērna elementa fona krāsu, kad tā vecākgrupai tiek uzvirzīts peles kursors, jūs bērna elementam izmantotu group-hover:bg-blue-500
. Vecākelementam ir jābūt apzīmētam kā "grupai", piemērojot group
klasi.
Kāpēc izmantot grupu variantus? Priekšrocības
Grupu variantu ieviešana piedāvā vairākas būtiskas priekšrocības front-end izstrādātājiem un dizaineriem:
- Uzlabota lasāmība un uzturēšanas vieglums: Saglabājot no stāvokļa atkarīgo stilu jūsu HTML kodā, jūs samazināt nepieciešamību pēc atsevišķiem CSS failiem vai sarežģītas JavaScript loģikas. Tas padara jūsu kodu vieglāk saprotamu un uzturējamu, īpaši lielos un sarežģītos projektos.
- Samazināts CSS apjoms: Tā vietā, lai veidotu pielāgotas klases katrai stāvokļu kombinācijai (piemēram,
.parent-hover .child-visible
), grupu varianti izmanto Tailwind esošās utilītu klases, kas noved pie mazāka CSS faila. - Optimizēta izstrādes darbplūsma: Tiek saglabāta Tailwind “utility-first” daba. Izstrādātāji var piemērot stilus tieši tur, kur tie ir nepieciešami, paātrinot izstrādes procesu, nezaudējot kontroli.
- Uzlabota pieejamība: Grupu variantus var izmantot, lai vizuāli norādītu uz interaktīviem stāvokļiem lietotājiem, papildinot standarta fokusa un uzvirzīšanas stāvokļus un uzlabojot kopējo lietotāja pieredzi.
- Vienkāršots komponentu dizains: Veidojot atkārtoti lietojamus komponentus, grupu varianti atvieglo definēšanu, kā bērnu elementiem vajadzētu reaģēt uz vecākelementa mijiedarbību, veicinot konsekvenci visā jūsu lietojumprogrammā.
Grupu variantu pamatkoncepti
Lai efektīvi izmantotu grupu variantus, ir svarīgi izprast dažus pamatkonceptus:
1. group
klase
Grupu variantu pamats ir group
klase. Jums ir jāpiemēro šī klase vecākelementam, kuru vēlaties izmantot kā stāvokļa izraisītāju stilam. Bez group
klases uz vecākelementa, jebkuriem group-*
prefiksiem uz bērnu elementiem nebūs nekādas ietekmes.
2. group-*
prefikss
Šis prefikss tiek piemērots standarta Tailwind utilītu klasēm. Tas norāda, ka utilītai jāpiemēro tikai tad, kad vecākelements (kas atzīmēts ar group
klasi) ir noteiktā stāvoklī. Biežāk sastopamie prefiksi ir:
group-hover:
: Piemēro stilus, kad virs vecākgrupas tiek uzvirzīts peles kursors.group-focus:
: Piemēro stilus, kad vecākgrupa saņem fokusu (piemēram, izmantojot tastatūras navigāciju).group-active:
: Piemēro stilus, kad vecākgrupa tiek aktivizēta (piemēram, uzklikšķinot uz pogas).group-visited:
: Piemēro stilus, kad saite vecākgrupā ir apmeklēta.group-disabled:
: Piemēro stilus, kad vecākgrupai irdisabled
atribūts.group-enabled:
: Piemēro stilus, kad vecākgrupa ir iespējota.group-checked:
: Piemēro stilus, kad ievades elements vecākgrupā ir atzīmēts.group-selected:
: Piemēro stilus, kad elements vecākgrupā ir atlasīts (bieži izmanto ar pielāgotiem elementiem vai JavaScript vadītiem stāvokļiem).
3. Ligzdotās grupas (group/
prefikss)
Tailwind CSS arī nodrošina detalizētāku kontroli pār ligzdotām grupām. Ja jums ir vairāki elementi, kas varētu tikt uzskatīti par "grupām" lielākā struktūrā, jūs varat tiem piešķirt konkrētus identifikatorus, izmantojot group/<identifikators>
sintaksi. Bērnu elementi pēc tam var mērķēt uz šīm konkrētajām vecākgrupām, izmantojot group-<identifikators>-*
prefiksus. Tas ir neticami noderīgi sarežģītos izkārtojumos, kur nepieciešams izvairīties no neparedzētiem stila blakusefektiem.
Piemēram:
<div class="group/card group-hover:scale-105 transition-transform duration-300">
<!-- Card Content -->
<div class="group-hover/card:text-blue-600">
Card Title
</div>
</div>
Šajā piemērā group/card
apzīmē šo konkrēto div elementu kā "kartes" grupu. Kad pašai kartes grupai tiek uzvirzīts peles kursors (group-hover:scale-105
), visa karte mērogojas. Turklāt, kad tiek uzvirzīts peles kursors uz konkrētās group/card
grupas (group-hover/card:text-blue-600
), mainās tikai tajā esošā teksta krāsa. Šis specifikācijas līmenis ir atslēga sarežģītām lietotāja saskarnēm.
Grupu variantu praktiskie piemēri
Apskatīsim dažus reālus Tailwind CSS grupu variantu pielietojumus dažādos komponentos un scenārijos, paturot prātā globālu auditoriju.
1. piemērs: Interaktīvas kartītes
Interaktīvas kartītes ir mūsdienu tīmekļa dizaina pamatelements, ko bieži izmanto produktu informācijas, rakstu vai lietotāju profilu attēlošanai. Grupu varianti var atdzīvināt šīs kartītes bez sarežģīta JavaScript.
Scenārijs: Kartītei, uzvirzot peles kursoru, vajadzētu iegūt smalku ēnu un nedaudz paceltu izskatu. Turklāt, kartītē esošajai pogai "Skatīt detaļas" būtu jāmaina fona krāsa, kad peles kursors tiek uzvirzīts kartītei.
<div class="group relative cursor-pointer overflow-hidden rounded-xl bg-white p-8 shadow-sm transition-shadow duration-300 hover:shadow-lg"
>
<!-- Card Image -->
<div class="mb-4 h-48 w-full object-cover"
>
<img src="/images/placeholder-image.jpg" alt="Product Image" class="w-full h-full rounded-md"
>
</div>
<!-- Card Content -->
<h3 class="mb-2 text-xl font-bold text-gray-900"
>
Global Innovations Summit
</h3>
<p class="mb-4 text-gray-600"
>
Discover cutting-edge technologies and network with industry leaders from around the world.
</p>
<!-- Action Button -->
<button class="inline-block rounded-lg px-4 py-2 text-sm font-medium transition duration-300"
>
<span class="group-hover:text-white"
>Learn More</span>
<span class="group-hover:bg-white"
></span>
</button>
</div>
Paskaidrojums:
- Ārējam
div
elementam irgroup
klase, padarot to par vecākelementu. hover:shadow-lg
nodrošina primāro uzvirzīšanas efektu pašai kartītei.- Poga kartītes iekšpusē izmanto
group-hover:text-white
. Tas nozīmē, ka pogas teksta krāsa mainīsies uz baltu tikai tad, kad virs vecākelementadiv
(grupas) tiek uzvirzīts peles kursors. transition-shadow duration-300
uz vecākelementa nodrošina vienmērīgu vizuālo pāreju ēnas maiņai.
2. piemērs: Navigācijas izvēlnes un nolaižamie saraksti
Responsīva navigācija ir kritiski svarīga jebkuras tīmekļa vietnes lietotāja pieredzei. Grupu varianti var vienkāršot nolaižamo sarakstu vai apakšizvēlņu ieviešanu, kas parādās, uzvirzot peles kursoru.
Scenārijs: Navigācijas saitei ir nolaižamā izvēlne, kas būtu redzama tikai tad, kad virs vecāksaites tiek uzvirzīts peles kursors. Vecāksaitei uzvirzīšanas laikā būtu jābūt arī pasvītrojuma indikatoram.
<nav class="bg-gray-800 p-4"
>
<ul class="flex space-x-6"
>
<li class="group relative"
>
<a href="#" class="text-gray-300 hover:text-white px-3 py-2 rounded-md text-sm font-medium transition duration-300"
>
Services
<span class="group-hover:w-full"
></span>
</a>
<!-- Dropdown Menu -->
<div class="absolute left-0 z-10 mt-2 w-48 origin-top-left scale-95 transform rounded-md bg-white shadow-lg ring-1 ring-black ring-opacity-5 transition duration-300 ease-out group-hover:scale-100 group-hover:opacity-100"
>
<div class="py-1"
>
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100"
>
Global Consulting
</a>
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100"
>
Market Research
</a>
<a href="#" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100"
>
Digital Transformation
</a>
</div>
</div>
</li>
<li>
<a href="#" class="text-gray-300 hover:text-white px-3 py-2 rounded-md text-sm font-medium transition duration-300"
>
About Us
</a>
</li>
<li>
<a href="#" class="text-gray-300 hover:text-white px-3 py-2 rounded-md text-sm font-medium transition duration-300"
>
Contact
</a>
</li>
</ul>
</nav>
Paskaidrojums:
li
elementam, kas satur saiti "Pakalpojumi", irgroup
klase.span
elements saitē "Pakalpojumi" izmantogroup-hover:w-full
. Tas pieņem, ka sākotnēji span ir paslēpts vai tā platums ir 0, un tas izplešas līdz pilnam platumam (izveidojot pasvītrojumu) tikai tad, kad tiek uzvirzīts peles kursors virs vecākelementa saraksta vienuma.- Nolaižamais
div
izmantogroup-hover:scale-100 group-hover:opacity-100
. Tas liek nolaižamajam sarakstam mērogoties no95%
līdz100%
un kļūt pilnībā necaurspīdīgam tikai tad, kad virs vecākgrupas tiek uzvirzīts peles kursors.group-hover:opacity-100
tiek izmantots kopā ar sākotnējoopacity-0
(ko netieši norāda scale-95 un pāreja sākotnējam stāvoklim). transition duration-300 ease-out
uz nolaižamā saraksta nodrošina vienmērīgu parādīšanās efektu.
3. piemērs: Formas ievades stāvokļi un etiķetes
Formas elementu stilizēšana, pamatojoties uz to stāvokli vai saistīto etiķeti, var ievērojami uzlabot lietojamību. Grupu varianti tam ir lieliski piemēroti.
Scenārijs: Kad izvēles rūtiņa ir atzīmēta, tās saistītajai etiķetei ir jāmaina krāsa, un apmalei ap saistīto ievades lauku grupu jākļūst pamanāmākai.
<div class="border border-gray-300 p-4 rounded-lg group/input-group"
>
<h3 class="text-lg font-semibold text-gray-800 mb-3"
>
Preferences
</h3>
<div class="space-y-3"
>
<div class="flex items-center"
>
<input type="checkbox" id="notifications" class="form-checkbox h-5 w-5 text-blue-600"
>
<label for="notifications" class="ml-2 block text-sm text-gray-700 cursor-pointer"
>
Enable Email Notifications
</label>
</div>
<div class="flex items-center"
>
<input type="checkbox" id="updates" class="form-checkbox h-5 w-5 text-blue-600"
>
<label for="updates" class="ml-2 block text-sm text-gray-700 cursor-pointer"
>
Receive Product Updates
</label>
</div>
</div>
<!-- Styling applied based on group state -->
<label for="notifications" class="group-checked:text-green-700 group-checked:font-medium"
></label>
<label for="updates" class="group-checked:text-green-700 group-checked:font-medium"
></label>
<div class="group-checked:border-green-500 group-checked:ring-1 group-checked:ring-green-500 mt-4 border-t border-gray-300 pt-4"
>
<p class="text-sm text-gray-500"
>
Your notification preferences are saved.
</p>
</div>
</div>
Paskaidrojums:
- Ārējais
div
ar klasigroup/input-group
ir galvenais konteiners formas elementiem. - Pašiem
input
elementiem nav nepieciešamagroup
klase. Tā vietāgroup-checked:
prefikss tiek piemērotslabel
elementiem. Tas ir tāpēc, kagroup-checked
variants vislabāk darbojas, ja to piemēro elementiem, kas ir strukturāli saistīti ar atzīmēto ievades lauku, bieži vien pašai etiķetei. div
, kas satur ziņojumu "Jūsu paziņojumu preferences ir saglabātas.", izmantogroup-checked:border-green-500 group-checked:ring-1 group-checked:ring-green-500
. Tas piemēro zaļu apmali un gredzenu, kad jebkura izvēles rūtiņa vecākelementagroup/input-group
iekšpusē ir atzīmēta.- Lai piemērotu stilus etiķetei, pamatojoties uz izvēles rūtiņas stāvokli, mēs piemērojam
group-checked:
variantuslabel
elementiem. Piemēram,group-checked:text-green-700 group-checked:font-medium
mainīs etiķetes teksta krāsu un padarīs to treknu, kad saistītā izvēles rūtiņa ir atzīmēta. - Piezīme:
form-checkbox
ir pielāgota komponentes klase, kas būtu jādefinē vai jānodrošina ar Tailwind UI komplektu faktiskai stilizēšanai. Šajā piemērā mēs koncentrējamies uz grupu variantu pielietojumu.
4. piemērs: Akordeoni un izvēršamās sadaļas
Akordeoni ir lieliski piemēroti satura organizēšanai un vietas taupīšanai. Grupu varianti var pārvaldīt vizuālās norādes par izvērstiem vai sakļautiem stāvokļiem.
Scenārijs: Akordeona vienuma galvenei būtu jāmaina krāsa un ikonai jāpagriežas, kad sadaļa ir izvērsta.
<div class="border border-gray-200 rounded-lg mb-4"
>
<button class="group w-full text-left px-6 py-4 flex justify-between items-center"
>
<span class="text-lg font-semibold text-gray-700"
>
Global Market Trends
</span>
<!-- Icon -->
<svg class="w-6 h-6 text-gray-400 group-focus:text-blue-500 group-hover:text-blue-500 transition duration-300"
fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"
></path>
</svg>
</button>
<!-- Accordion Content -->
<div class="px-6 pb-4 text-gray-600"
>
<p class="text-sm"
>
Analyze current global economic shifts, consumer behavior, and emerging market opportunities.
</p>
</div>
</div>
<!-- Example with a different approach for state -->
<div class="border border-gray-200 rounded-lg mb-4"
>
<button class="group/acc-header w-full text-left px-6 py-4 flex justify-between items-center"
>
<span class="text-lg font-semibold text-gray-700 group-focus/acc-header:text-blue-700"
>
Technological Advancements
</span>
<!-- Icon -->
<svg class="w-6 h-6 text-gray-400 group-focus/acc-header:text-blue-700 group-hover/acc-header:rotate-180 transition duration-300"
fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"
></path>
</svg>
</button>
<!-- Accordion Content -->
<div class="px-6 pb-4 text-gray-600"
>
<p class="text-sm"
>
Explore the latest in AI, blockchain, and sustainable tech impacting businesses worldwide.
</p>
</div>
</div>
Paskaidrojums:
button
elements darbojas kā interaktīvā galvene un ir atzīmēts argroup
klasi.span
pogas iekšpusē izmantogroup-focus:text-blue-500
ungroup-hover:text-blue-500
. Tas liek tekstam mainīt krāsu, kad poga (grupa) ir fokusā vai virs tās tiek uzvirzīts peles kursors.svg
ikona animācijai izmantotransition duration-300
. Mēs varam piemērotgroup-hover:rotate-180
(ja definējamrotate-180
klasi vai izmantojam Tailwind patvaļīgās vērtības), lai pagrieztu ikonu, kad virs vecākgrupas tiek uzvirzīts peles kursors. Otrajā piemērāgroup-focus/acc-header:text-blue-700
ungroup-hover/acc-header:rotate-180
demonstrē mērķēšanu uz konkrētām ligzdotām grupām stilizēšanai.- Reālā akordeonā jūs parasti izmantotu JavaScript, lai pārslēgtu klasi (piemēram,
is-open
) uz vecākgrupas un pēc tam izmantotugroup-open:rotate-180
vai līdzīgus pielāgotus variantus. Tomēr vienkāršākām uzvirzīšanas/fokusa mijiedarbībām pietiek ar grupu variantiem vien.
Progresīvas metodes un pielāgošana
Lai gan pamatfunkcionalitāte ir vienkārša, grupu varianti piedāvā iespējas progresīvākai lietošanai:
1. Grupu variantu kombinēšana
Jūs varat savietot vairākus grupu variantus, lai izveidotu sarežģītas mijiedarbības. Piemēram, stilizējot elementu tikai tad, kad vecākelements ir gan uzvirzīts, gan atzīmēts:
<div class="group/item checked:bg-blue-100 border p-4 rounded-md"
>
<div class="group-hover:scale-105 group-checked:scale-110 transition-transform"
>
Item Content
</div>
</div>
Šeit group-hover:scale-105
tiek piemērots, kad virs vecākelementa tiek uzvirzīts peles kursors, un group-checked:scale-110
tiek piemērots, kad vecākelements ir atzīmēts. Ņemiet vērā, ka, lai group-checked
darbotos, vecākelementam būtu nepieciešams mehānisms, kas atspoguļo atzīmētu stāvokli, bieži vien ar JavaScript, pārslēdzot klasi.
2. Variantu pielāgošana tailwind.config.js
failā
Tailwind CSS ir ļoti paplašināms. Jūs varat definēt savus pielāgotos variantus, tostarp grupu variantus, savā tailwind.config.js
failā. Tas ļauj jums izveidot atkārtoti lietojamus, projektam specifiskus stāvokļu modifikatorus.
Piemēram, lai izveidotu group-data-*
variantu:
// tailwind.config.js
module.exports = {
theme: {
extend: {
// ... other configurations
},
},
plugins: [
// ... other plugins
require('tailwindcss-data-attributes')({ // Requires installing this plugin
attribute: 'data',
variants: ['group-data'], // Creates group-data-* variants
})
],
}
Ar šo konfigurāciju jūs varētu izmantot:
<div class="group data-[state=active]:bg-purple-200"
data-state="active"
>
This div is active.
</div>
<div class="group group-data-[state=active]:text-purple-600"
data-state="active"
>
Another Element
</div>
Tas ir īpaši spēcīgi, integrējot ar JavaScript ietvariem, kas pārvalda stāvokli, izmantojot datu atribūtus.
3. Pieejamības apsvērumi
Izmantojot grupu variantus, vienmēr nodrošiniet, ka interaktīvie stāvokļi tiek nodoti arī ar semantisku HTML un standarta pieejamības praksi. Piemēram, nodrošiniet, ka fokusa stāvokļi ir skaidri tastatūras lietotājiem un ka tiek saglabātas krāsu kontrasta attiecības. Grupu variantiem ir jāuzlabo, nevis jāaizstāj fundamentāli pieejamības pasākumi.
Elementiem, kas ir interaktīvi, bet kuriem nav dabisko interaktīvo stāvokļu (piemēram, div elements, kas nav poga, bet darbojas kā klikšķināma kartīte), nodrošiniet, ka pievienojat ARIA lomas (piemēram, role="button"
, tabindex="0"
) un atbilstoši apstrādājat tastatūras notikumus.
Biežākās kļūdas un kā no tām izvairīties
Lai gan spēcīgi, grupu varianti dažreiz var radīt neskaidrības:
- Aizmirsta
group
klase: Visbiežākā kļūda. Pārliecinieties, ka vecākelementam vienmēr ir piemērotagroup
klase. - Nepareiza vecāka/bērna attiecība: Grupu varianti darbojas tikai tiešiem vai dziļi ligzdotiem pēcnācējiem, ja tiek izmantots
group/
identifikators. Tie nedarbojas blakus esošiem elementiem vai elementiem ārpus grupas hierarhijas. - Pārklājošies grupu stāvokļi: Esiet uzmanīgi, kā dažādi grupu stāvokļi var mijiedarboties. Izmantojiet konkrētus grupu identifikatorus (
group/identifier
), lai nodrošinātu skaidrību sarežģītās struktūrās. - Veiktspēja ar pārmērīgām pārejām: Lai gan pārejas ir lieliskas, to piemērošana daudzām īpašībām uz daudziem elementiem var ietekmēt veiktspēju. Optimizējiet savas pārejas pārdomāti.
- Stāvokļu pārvaldības sarežģītība: Sarežģītām dinamiskām lietotāja saskarnēm, paļaujoties tikai uz grupu variantiem stāvokļu maiņai (īpaši tām, ko vada lietotāja mijiedarbība, kas nav vienkārša uzvirzīšana/fokuss), var būt nepieciešams papildu JavaScript, lai pārvaldītu vecākelementa stāvokli (piemēram, pievienojot/noņemot klases).
Noslēgums
Tailwind CSS grupu varianti ir revolucionārs rīks sarežģītu, interaktīvu un uzturēšanas ziņā vienkāršu lietotāja saskarņu veidošanai. Ļaujot stilizēt vecākelementa stāvokli tieši jūsu HTML kodā, tie optimizē izstrādi, samazina CSS apjomu un uzlabo kopējo dizaina procesu.
Neatkarīgi no tā, vai jūs veidojat responsīvu navigāciju, dinamiskas kartītes vai pieejamus formas elementus, grupu variantu apguve dos jums iespēju radīt saistošākas un noslīpētākas tīmekļa pieredzes. Atcerieties vienmēr piemērot group
klasi saviem vecākelementiem un pilnībā izmantot dažādos group-*
prefiksus. Izpētiet pielāgotos variantus vēl lielākai kontrolei un vienmēr paturiet pieejamību savu dizaina lēmumu priekšplānā.
Pieņemiet grupu variantu spēku un vērojiet, kā jūsu Tailwind CSS projekti sasniedz jaunus elegances un funkcionalitātes augstumus!