Lietuvių

Sužinokite, kaip kurti Tailwind CSS įskiepius, norėdami išplėsti jo funkcionalumą ir kurti individualias, keičiamo dydžio dizaino sistemas savo projektams.

Tailwind CSS įskiepių kūrimas individualioms dizaino sistemoms

Tailwind CSS yra utility-first CSS framework'as, kuris suteikia iš anksto apibrėžtų CSS klasių rinkinį, skirtą greitai stilizuoti HTML elementus. Nors jo platūs utility klasių apima platų stilizavimo poreikių spektrą, sudėtingiems ar labai specifiniams dizaino reikalavimams dažnai reikia individualių sprendimų. Čia atsiranda Tailwind CSS įskiepių kūrimas, leidžiantis išplėsti framework'o galimybes ir sukurti daugkartinio naudojimo komponentus ir funkcionalumus, pritaikytus jūsų unikaliai dizaino sistemai. Šis vadovas padės jums atlikti Tailwind CSS įskiepių kūrimo procesą, nuo pagrindų supratimo iki pažangių funkcijų įgyvendinimo.

Kodėl verta kurti Tailwind CSS įskiepius?

Tailwind CSS įskiepių kūrimas siūlo keletą reikšmingų privalumų:

Pagrindų supratimas

Prieš pradedant įskiepių kūrimą, būtina suprasti pagrindines Tailwind CSS sąvokas ir jo konfigūraciją. Tai apima susipažinimą su:

Kūrimo aplinkos nustatymas

Norėdami pradėti kurti Tailwind CSS įskiepius, jums reikės pagrindinio Node.js projekto su įdiegtu Tailwind CSS. Jei dar neturite, galite sukurti naują projektą naudodami npm arba yarn:

npm init -y
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p

Tai sukurs package.json failą ir įdiegs Tailwind CSS, PostCSS ir Autoprefixer kaip kūrimo priklausomybes. Jis taip pat sugeneruos tailwind.config.js failą jūsų projekto šakniniame kataloge.

Pirmojo įskiepio kūrimas

Tailwind CSS įskiepis iš esmės yra JavaScript funkcija, kuri gauna addUtilities, addComponents, addBase, addVariants ir theme funkcijas kaip argumentus. Šios funkcijos leidžia jums išplėsti Tailwind CSS įvairiais būdais.

Pavyzdys: Individualių utility pridėjimas

Sukurkime paprastą įskiepį, kuris prideda individualią utility klasę, skirtą teksto šešėliui taikyti:

1 žingsnis: Įskiepio failo sukūrimas

Sukurkite naują failą pavadinimu tailwind-text-shadow.js (arba bet kokiu kitu pageidaujamu pavadinimu) savo projekte.

2 žingsnis: Įskiepio įgyvendinimas

Pridėkite šį kodą į tailwind-text-shadow.js failą:

const plugin = require('tailwindcss/plugin')

module.exports = plugin(function({ addUtilities, theme }) {
  const utilities = {
    '.text-shadow': {
      'text-shadow': '0 2px 4px rgba(0,0,0,0.10)'
    },
    '.text-shadow-md': {
      'text-shadow': '0 4px 8px rgba(0,0,0,0.12), 0 2px 2px rgba(0,0,0,0.06)'
    },
    '.text-shadow-lg': {
      'text-shadow': '0 8px 16px rgba(0,0,0,0.14), 0 4px 4px rgba(0,0,0,0.08)'
    },
    '.text-shadow-none': {
      'text-shadow': 'none'
    }
  }

  addUtilities(utilities)
})

Šis įskiepis apibrėžia keturias utility klases: .text-shadow, .text-shadow-md, .text-shadow-lg ir .text-shadow-none. Funkcija addUtilities užregistruoja šias klases su Tailwind CSS, todėl jas galima naudoti jūsų HTML.

3 žingsnis: Įskiepio registravimas tailwind.config.js

Atidarykite savo tailwind.config.js failą ir pridėkite įskiepį prie plugins masyvo:

module.exports = {
  theme: {
    // ... jūsų temos konfigūracija
  },
  plugins: [
    require('./tailwind-text-shadow'),
  ],
}

4 žingsnis: Įskiepio naudojimas jūsų HTML

Dabar galite naudoti naujas utility klases savo HTML:

<h1 class="text-3xl font-bold text-shadow">Sveiki, Tailwind CSS!</h1>

Tai pritaikys subtilų teksto šešėlį antraštei.

Pavyzdys: Individualių komponentų pridėjimas

Taip pat galite naudoti įskiepius, norėdami pridėti individualius komponentus, kurie yra sudėtingesni ir daugkartinio naudojimo UI elementai. Sukurkime įskiepį, kuris prideda paprastą mygtuko komponentą su skirtingais stiliais.

1 žingsnis: Įskiepio failo sukūrimas

Sukurkite naują failą pavadinimu tailwind-button.js (arba bet kokiu kitu pageidaujamu pavadinimu) savo projekte.

2 žingsnis: Įskiepio įgyvendinimas

Pridėkite šį kodą į tailwind-button.js failą:

const plugin = require('tailwindcss/plugin')

module.exports = plugin(function({ addComponents, theme }) {
  const buttons = {
    '.btn': {
      padding: '.5rem 1rem',
      borderRadius: '.25rem',
      fontWeight: '600',
    },
    '.btn-primary': {
      backgroundColor: theme('colors.blue.500'),
      color: theme('colors.white'),
      '&:hover': {
        backgroundColor: theme('colors.blue.700'),
      },
    },
    '.btn-secondary': {
      backgroundColor: theme('colors.gray.200'),
      color: theme('colors.gray.800'),
      '&:hover': {
        backgroundColor: theme('colors.gray.300'),
      },
    },
  }

  addComponents(buttons)
})

Šis įskiepis apibrėžia tris komponentus: .btn (bazinis mygtuko stilius), .btn-primary ir .btn-secondary. Funkcija addComponents užregistruoja šiuos komponentus su Tailwind CSS.

3 žingsnis: Įskiepio registravimas tailwind.config.js

Atidarykite savo tailwind.config.js failą ir pridėkite įskiepį prie plugins masyvo:

module.exports = {
  theme: {
    // ... jūsų temos konfigūracija
  },
  plugins: [
    require('./tailwind-button'),
  ],
}

4 žingsnis: Įskiepio naudojimas jūsų HTML

Dabar galite naudoti naujas komponentų klases savo HTML:

<button class="btn btn-primary">Pagrindinis mygtukas</button>
<button class="btn btn-secondary">Antrinis mygtukas</button>

Tai sukurs du mygtukus su nurodytais stiliais.

Pavyzdys: Individualių variantų pridėjimas

Variantai leidžia jums modifikuoti stilius pagal skirtingas būsenas ar sąlygas. Sukurkime įskiepį, kuris prideda individualų variantą, skirtą elementams, atsižvelgiant į jų tėvo duomenų atributą.

1 žingsnis: Įskiepio failo sukūrimas

Sukurkite naują failą pavadinimu tailwind-data-variant.js (arba bet kokiu kitu pageidaujamu pavadinimu) savo projekte.

2 žingsnis: Įskiepio įgyvendinimas

const plugin = require('tailwindcss/plugin')

module.exports = plugin(function({ addVariant }) {
  addVariant('data-checked', '&[data-checked="true"]')
})

Šis įskiepis apibrėžia naują variantą, pavadintą data-checked. Pritaikinus, jis bus skirtas elementams, kurių atributas data-checked yra nustatytas į true.

3 žingsnis: Įskiepio registravimas tailwind.config.js

Atidarykite savo tailwind.config.js failą ir pridėkite įskiepį prie plugins masyvo:

module.exports = {
  theme: {
    // ... jūsų temos konfigūracija
  },
  plugins: [
    require('./tailwind-data-variant'),
  ],
}

4 žingsnis: Įskiepio naudojimas jūsų HTML

Dabar galite naudoti naują variantą savo HTML:

<div data-checked="true" class="data-checked:text-blue-500">Šis tekstas bus mėlynas, kai data-checked yra true.</div>
<div data-checked="false" class="data-checked:text-blue-500">Šis tekstas nebus mėlynas.</div>

Pirmasis div turės mėlyną tekstą, nes jo atributas data-checked yra nustatytas į true, o antrasis div ne.

Pažangus įskiepių kūrimas

Kai jau patogiai jausitės su pagrindais, galite ištirti pažangesnes įskiepių kūrimo technikas:

Temos funkcijos naudojimas

Funkcija theme leidžia jums pasiekti reikšmes, apibrėžtas jūsų tailwind.config.js faile. Tai užtikrina, kad jūsų įskiepiai atitiktų jūsų bendrą dizaino sistemą.

const plugin = require('tailwindcss/plugin')

module.exports = plugin(function({ addUtilities, theme }) {
  const utilities = {
    '.custom-spacing': {
      padding: theme('spacing.4'), // Pasiekia spacing.4 reikšmę iš tailwind.config.js
      margin: theme('spacing.8'),
    },
  }

  addUtilities(utilities)
})

Darbas su CSS kintamaisiais

CSS kintamieji (taip pat žinomi kaip individualios savybės) suteikia galingą būdą valdyti ir pakartotinai naudoti CSS reikšmes. Galite naudoti CSS kintamuosius savo Tailwind CSS įskiepiuose, kad sukurtumėte lankstesnius ir pritaikomus stiliaus sprendimus.

1 žingsnis: CSS kintamųjų apibrėžimas tailwind.config.js

module.exports = {
  theme: {
    extend: {
      colors: {
        'custom-color': 'var(--custom-color)',
      },
    },
  },
  plugins: [
    require('tailwindcss/plugin')(function({ addBase }) {
      addBase({
        ':root': {
          '--custom-color': '#FF0000', // Numatytasis reikšmė
        },
      })
    }),
  ],
}

2 žingsnis: CSS kintamojo naudojimas jūsų įskiepyje

const plugin = require('tailwindcss/plugin')

module.exports = plugin(function({ addUtilities, theme }) {
  const utilities = {
    '.custom-text': {
      color: theme('colors.custom-color'),
    },
  }

  addUtilities(utilities)
})

Dabar galite pakeisti kintamojo --custom-color reikšmę, kad atnaujintumėte visų elementų, naudojančių klasę .custom-text, spalvą.

addBase funkcijos naudojimas

Funkcija addBase leidžia jums pridėti bazinius stilius prie visuotinio stiliaus lapo. Tai naudinga nustatant numatytuosius HTML elementų stilius arba taikant visuotinius atstatymus.

const plugin = require('tailwindcss/plugin')

module.exports = plugin(function({ addBase }) {
  addBase({
    'body': {
      fontFamily: 'sans-serif',
      backgroundColor: '#F7FAFC',
    },
    'h1': {
      fontSize: '2.5rem',
      fontWeight: 'bold',
    },
  })
})

Dizaino sistemos kūrimas su Tailwind CSS įskiepiais

Tailwind CSS įskiepiai yra vertingas įrankis kuriant ir prižiūrint dizaino sistemas. Štai struktūrizuotas požiūris į dizaino sistemos kūrimą naudojant Tailwind CSS įskiepius:

  1. Apibrėžkite savo dizaino žetonus: Nustatykite pagrindinius savo prekės ženklo dizaino elementus, tokius kaip spalvos, tipografija, tarpai ir kraštų spinduliai. Apibrėžkite šiuos žetonus savo tailwind.config.js faile naudodami konfigūraciją theme.
  2. Sukurkite komponentų įskiepius: Kiekvienam daugkartinio naudojimo komponentui jūsų dizaino sistemoje (pvz., mygtukai, kortelės, formos), sukurkite atskirą įskiepį, kuris apibrėžia komponento stilius. Naudokite funkciją addComponents, kad užregistruotumėte šiuos komponentus.
  3. Sukurkite utility įskiepius: Dažniems stiliaus šablonams ar funkcionalumams, kurių neapima Tailwind CSS pagrindiniai utility, sukurkite utility įskiepius naudodami funkciją addUtilities.
  4. Sukurkite variantų įskiepius: Jei jums reikia individualių variantų skirtingoms būsenoms ar sąlygoms apdoroti, sukurkite variantų įskiepius naudodami funkciją addVariants.
  5. Dokumentuokite savo įskiepius: Pateikite aiškią ir glaustą kiekvieno įskiepio dokumentaciją, paaiškinančią jo paskirtį, naudojimą ir galimas parinktis.
  6. Versijų valdymas: Naudokite versijų valdymo sistemą (pvz., Git), kad stebėtumėte savo įskiepių pakeitimus ir užtikrintumėte, kad prireikus galėtumėte lengvai grįžti prie ankstesnių versijų.
  7. Testavimas: Įgyvendinkite vienetinius ir integracinius testus savo įskiepiams, kad užtikrintumėte, jog jie veikia teisingai ir išlaiko nuoseklumą.

Geriausia Tailwind CSS įskiepių kūrimo praktika

Norėdami užtikrinti, kad jūsų Tailwind CSS įskiepiai būtų gerai suprojektuoti, prižiūrimi ir pakartotinai naudojami, laikykitės šios geriausios praktikos:

Realaus pasaulio įskiepių pavyzdžiai

Yra daug atvirojo kodo Tailwind CSS įskiepių, kurie gali suteikti įkvėpimo ir praktinių pavyzdžių. Štai keletas žinomų pavyzdžių:

Įskiepio publikavimas

Jei norite pasidalinti savo įskiepiu su platesne Tailwind CSS bendruomene, galite jį publikuoti npm. Štai kaip:

  1. Sukurkite npm paskyrą: Jei dar neturite, sukurkite paskyrą npmjs.com.
  2. Atnaujinkite package.json: Atnaujinkite savo package.json failą su šia informacija:
    • name: Jūsų įskiepio pavadinimas (pvz., my-tailwind-plugin).
    • version: Jūsų įskiepio versijos numeris (pvz., 1.0.0).
    • description: Trumpas jūsų įskiepio aprašymas.
    • main: Pagrindinis jūsų įskiepio įvesties taškas (paprastai įskiepio failas).
    • keywords: Raktažodžiai, apibūdinantys jūsų įskiepį (pvz., tailwind, plugin, design system).
    • author: Jūsų vardas arba organizacija.
    • license: Licencija, pagal kurią išleidžiamas jūsų įskiepis (pvz., MIT).
  3. Sukurkite README failą: Sukurkite README.md failą, kuriame paaiškinama, kaip įdiegti ir naudoti jūsų įskiepį. Įtraukite pavyzdžių, kaip naudoti įskiepį savo HTML.
  4. Prisijunkite prie npm: Savo terminale paleiskite npm login ir įveskite savo npm kredencialus.
  5. Publikuokite savo įskiepį: Paleiskite npm publish, kad publikuotumėte savo įskiepį npm.

Internacionalizacijos ir lokalizacijos svarstymai

Kuriant Tailwind CSS įskiepius pasaulinei auditorijai, atsižvelkite į šiuos internacionalizacijos (i18n) ir lokalizacijos (l10n) aspektus:

Išvada

Tailwind CSS įskiepių kūrimas suteikia jums galimybę kurti individualius, daugkartinio naudojimo ir prižiūrimus stiliaus sprendimus, pritaikytus jūsų konkretiems dizaino sistemos poreikiams. Suprasdami Tailwind CSS pagrindus, tyrinėdami pažangias technikas ir laikydamiesi geriausios praktikos, galite sukurti galingus įskiepius, kurie išplečia framework'o galimybes ir pagerina jūsų front-end kūrimo darbo eigą. Išnaudokite įskiepių kūrimo galią ir atrakinkite visą Tailwind CSS potencialą savo projektams.