Redimensionarea imaginilor cu React

Introducere

Este întotdeauna o idee bună să aveți imagini pe un site web sau pe o aplicație web, deoarece ajută la implicarea unui utilizator, dar atunci când aceste imagini sunt atât de mari încât un utilizator trebuie să deruleze, distorsionând întreaga pagină, se obține efectul opus.

În acest articol, vom învăța cum să redimensionăm imaginile cu React utilizând mai multe abordări posibile.

Redimensionarea imaginilor în React este foarte asemănătoare cu redimensionarea imaginilor în HTML tradițional, deoarece folosim stiluri CSS (fie interne, inline sau externe) prin className sau style atribut. Putem folosi și height și width atribute pe img etichetați direct.

Notă: În React, nu folosim class așa cum facem în HTML, în schimb, folosim className, care îndeplinește aceeași funcție ca clasă și acceptă valori de șir.

Codul ar arăta în general ceva de genul:

<!-- index.css -->
img {
   width: 500px;
   height: 600px;
}

Și imaginea noastră ar arăta astfel:

<!-- App.js -->
import Logo from './images/react-logo.png';
import './index.css';

const App = () => {
   return (
      <div>
         <img src={Logo} alt="React Logo" />
      </div>
   );
};

Notă: noi am folosit img ca selector, putem decide să îi dăm a className și folosiți-l ca selector.

Cum să redimensionați o imagine cu stiluri inline

Am folosit stilul extern în exemplul anterior, dar la fel ca în HTML tradițional, putem folosi style atribut pentru a adăuga stilul CSS. The style valoarea atributului trebuie să fie un obiect JavaScript cu perechi cheie-valoare:

import Logo from './images/react-logo.png';
const App = () => {
   return (
      <div>
         <img style={{ width: 500, height: 600 }} src={Logo} alt="React Logo" />
      </div>
   );
};

În mod implicit, unitatea de bază este în pixeli, dar să presupunem că vrem să folosim alte unități precum rem, %, vh, etc. Vom folosi șir pentru valoarea cheie a stilurilor:

import Logo from './images/react-logo.png';
const App = () => {
   return (
      <div>
         <img style={{ width: "500%", height: "600%" }} src={Logo} alt="React Logo" />
      </div>
   );
};

Dacă avem multe imagini care au nevoie de un stil similar și nu dorim să folosim un stil extern, am putea crea un obiect care să țină aceste obiecte de stil și apoi să adăugăm obiectul la styles atribut:

import Logo from './images/react-logo.png';

const App = () => {
   const myImageStyle = { width: '500px', height: '600px' };

   return (
      <div>
         <img style={myImageStyle} src={Logo} alt="" />
      </div>
   );
};

Cum să redimensionezi o imagine cu lățime Și înălțime atribute

În HTML tradițional, o modalitate de a redimensiona imagini este să utilizați height și width proprietate cu img tag și aceasta funcționează și cu React:

Consultați ghidul nostru practic și practic pentru a învăța Git, cu cele mai bune practici, standarde acceptate de industrie și fisa de cheat incluse. Opriți căutarea pe Google a comenzilor Git și de fapt învăţa aceasta!

import Logo from './images/react-logo.png';
const App = () => {
   return (
      <div>
          <img src={Logo} width="500" height="600" alt="" />
          
          <img src={Logo} width={500} height={600} alt="" />
      </div>
   );
};

Principalul dezavantaj al acestei metode este că jocul cu înălțimea și lățimea tinde să distorsioneze imaginile, făcându-le să se micșoreze, să se întindă sau să își piardă în alt mod raportul. Acest lucru poate fi rezolvat prin utilizarea object-fit: cover;.

Stilizarea imaginilor noastre

Când folosim funcția height, width, max-height, și alte proprietăți CSS pentru a ne redimensiona imaginile, acestea tind să le distorsioneze, făcându-le să se micșoreze sau să se întindă.

Este întotdeauna o idee bună să includeți object-fit proprietate, care specifică modul în care o imagine ar trebui să fie redimensionată pentru a se potrivi cu containerul său. Această proprietate poate accepta o varietate de valori, cum ar fi contain, cover, fill, none și scale-down.

Alte proprietăți CSS, cum ar fi max-width, min-width, max-height, și min-height, poate defini valorile maxime și minime pe care le poate atinge o imagine, limitând distorsiunea.

Concluzie

În acest articol, am învățat cum să redimensionăm imaginile în React analizând diferitele opțiuni disponibile pentru noi.

Cu toate acestea, este de preferat să folosiți stiluri CSS în loc să setați atribute fixe pentru aceste imagini, cu excepția cazului în care este absolut necesar atunci când doriți să primiți aceste valori în mod dinamic, caz în care poate fi folosit și stilul inline.

Timestamp-ul:

Mai mult de la Stackabuse