Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Responsiv och Tillståndsbaserad Styling | Sektion
Styling av React-applikationer med Tailwind CSS

bookResponsiv och Tillståndsbaserad Styling

Svep för att visa menyn

När du bygger React-appar med Tailwind CSS kan du enkelt anpassa dina komponenter för olika skärmstorlekar och användarinteraktioner med hjälp av responsiva prefix och tillståndsmodifikatorer. Responsiva prefix som md: och lg: gör det möjligt att tillämpa stilar endast vid vissa brytpunkter, vilket gör dina layouter flexibla över olika enheter. Till exempel, om du lägger till md:bg-blue-500 på en div får den blå bakgrund endast på medelstora skärmar och större, medan den behåller standardbakgrunden på mindre skärmar.

Tillståndsmodifikatorer såsom hover: och focus: låter dig ändra stilar baserat på användarens handlingar. Exempelvis ändrar hover:bg-green-500 bakgrundsfärgen när användaren hovrar över ett element, och focus:ring-2 lägger till en ring när elementet är i fokus, till exempel när en användare klickar i ett inmatningsfält. Du kan kombinera dessa med responsiva prefix för ännu mer kontroll, såsom md:hover:text-red-500, vilket ändrar textfärgen vid hovring men endast på medelstora skärmar och större.

För att se hur dessa varianter fungerar i praktiken, kan du tänka dig en knappkomponent i din React-app. Du kanske vill att knappen ska ha större padding på större skärmar och ändra färg vid hovring eller fokus. Genom att kombinera responsiva och tillståndsbaserade klasser kan du enkelt uppnå detta.

Anta att du har en Button-komponent i React. För att göra den responsiv och interaktiv kan du skriva:

<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>

I detta exempel:

  • Knappen har standardpadding (px-4 py-2) och bakgrundsfärg (bg-blue-500);
  • På medelstora skärmar och större ökar paddingen (md:px-8 md:py-4);
  • Vid hovring blir bakgrunden mörkare (hover:bg-blue-700);
  • Vid fokus visas en blå ring för tillgänglighet (focus:outline-none focus:ring-2 focus:ring-blue-300).

Detta tillvägagångssätt säkerställer att din knapp ser bra ut och reagerar visuellt på användarinteraktion på alla enheter.

Ett annat scenario kan vara en navigationsrad där länkar markeras vid hovring, men endast visar understrykning på större skärmar. Du kan använda:

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

Här ändras länktextens färg vid hovring på alla skärmar, men understrykningen visas endast på stora skärmar och försvinner vid hovring på dessa skärmar. Dessa kombinationer gör det möjligt att finjustera ditt användargränssnitt för både enhetsstorlek och användarbeteende, allt inom din JSX med Tailwinds enkla syntax.

question mark

Vilket av följande klassnamn tillämpar korrekt en bakgrundsfärg endast när en knapp hovras över på medelstora skärmar och större?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 1. Kapitel 3
some-alt