Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Responsiivinen ja Tilapohjainen Tyylittely | Osio
React-sovellusten Tyylittely Tailwind CSS:llä

bookResponsiivinen ja Tilapohjainen Tyylittely

Pyyhkäise näyttääksesi valikon

Rakentaessasi React-sovelluksia Tailwind CSS:n avulla voit helposti mukauttaa komponenttejasi eri näyttökokoihin ja käyttäjän vuorovaikutuksiin käyttämällä responsiivisia etuliitteitä ja tilamuuntimia. Responsiiviset etuliitteet, kuten md: ja lg:, mahdollistavat tyylien soveltamisen vain tietyissä katkaisu­kohdissa, mikä tekee asetteluista joustavia eri laitteilla. Esimerkiksi lisäämällä md:bg-blue-500 div-elementtiin taustaväri muuttuu siniseksi vain keskikokoisilla ja sitä suuremmilla näytöillä, mutta pienemmillä näytöillä säilyy oletustausta.

Tilamuuntimet, kuten hover: ja focus:, mahdollistavat tyylien muuttamisen käyttäjän toiminnan perusteella. Esimerkiksi hover:bg-green-500 vaihtaa taustavärin, kun käyttäjä vie hiiren elementin päälle, ja focus:ring-2 lisää kehän, kun elementti saa fokuksen, kuten kun käyttäjä klikkaa syöttökenttää. Näitä voi yhdistää responsiivisiin etuliitteisiin saadaksesi vielä enemmän hallintaa, esimerkiksi md:hover:text-red-500 vaihtaa tekstin värin hover-tilassa, mutta vain keskikokoisilla ja sitä suuremmilla näytöillä.

Näiden varianttien käytännön yhdistämistä havainnollistaa painikekomponentti React-sovelluksessa. Saatat haluta, että painikkeella on suurempi täyte suuremmilla näytöillä ja että väri muuttuu hover- tai focus-tilassa. Yhdistämällä responsiivisia ja tilapohjaisia luokkia tämä onnistuu helposti.

Oletetaan, että sinulla on Button-komponentti Reactissa. Jotta siitä tulisi responsiivinen ja interaktiivinen, voisit kirjoittaa:

<button
  className='px-4 py-2 bg-blue-500 text-white rounded 
              md:px-8 md:py-4 hover:bg-blue-700 
              focus:outline-none focus:ring-2 focus:ring-blue-300'
>
  Click me
</button>

Tässä esimerkissä:

  • Painikkeella on oletustäytteet (px-4 py-2) ja taustaväri (bg-blue-500);
  • Keskikokoisilla ja sitä suuremmilla näytöillä täytteet kasvavat (md:px-8 md:py-4);
  • Hover-tilassa taustaväri tummenee (hover:bg-blue-700);
  • Focus-tilassa painikkeen ympärille ilmestyy sininen kehys saavutettavuuden vuoksi (focus:outline-none focus:ring-2 focus:ring-blue-300).

Tämä lähestymistapa varmistaa, että painike näyttää hyvältä ja reagoi visuaalisesti käyttäjän toimintaan kaikilla laitteilla.

Toinen esimerkki voisi olla navigaatiopalkki, jossa linkit korostuvat hover-tilassa, mutta alleviivaus näkyy vain suuremmilla näytöillä. Voisit käyttää:

<a
  className='text-gray-700 hover:text-blue-600 
          lg:underline lg:hover:no-underline'
>
  Home
</a>

Tässä linkin väri muuttuu hover-tilassa kaikilla näytöillä, mutta alleviivaus näkyy vain suurilla näytöillä ja katoaa hover-tilassa niillä näytöillä. Näiden yhdistelmien avulla voit hienosäätää käyttöliittymää sekä laitteen koon että käyttäjän toiminnan mukaan, kaikki suoraan JSX:ssä Tailwindin yksinkertaisella syntaksilla.

question mark

Mikä seuraavista luokkanimistä asettaa taustavärin vain, kun painiketta leijutetaan keskikokoisilla näytöillä ja suuremmilla?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 1. Luku 3
some-alt