K object-fit
vlastníctva definuje, ako nejaký prvok reaguje na výšku a šírku jej obsahu škatule. Je určený pre obrázky, videá a ďalšie vložiteľné formáty médií v spojení s object-position
vlastníctvom. Ak je použitý sám o sebe, object-fit
umožňuje nám orezať vložený obrázok tým, že nám dáva jemnozrnnú kontrolu nad tým, ako sa roztiahne a roztiahne vo vnútri poľa.
object-fit
možno nastaviť pomocou jednej z týchto piatich hodnôt:
fill
: toto je predvolená hodnota, ktorá roztiahne obrázok tak, aby sa zmestil do poľa obsahu, bez ohľadu na jeho pomer strán.contain
: zväčšuje alebo zmenšuje veľkosť obrázka tak, aby vyplnil rámček, pri zachovaní jeho pomeru strán.cover
: obrázok vyplní výšku a šírku jeho poľa, čím sa opäť zachová jeho pomer strán, ale často sa proces orezá.none
: obrázok bude ignorovať výšku a šírku rodiča a zachová si pôvodnú veľkosť.scale-down
: obrázok porovná rozdiel medzinone
acontain
s cieľom nájsť najmenšiu konkrétnu veľkosť objektu.
Takto môžeme nastaviť túto vlastnosť:
img ( height: 120px; ) .cover ( width: 260px; object-fit: cover; )


Pretože druhý obrázok má iný pomer strán ako pôvodný obrázok vľavo, roztiahne sa mimo sféru poľa s obsahom a orezá hornú a spodnú časť obrázka.
Stojí za zmienku, že obraz je predvolene vycentrovaný v poli s obsahom, ale toto je možné zmeniť pomocou object-position
vlastnosti.
Ukážka
Demo nižšie zobrazuje päť príkladov podrobne popisujúcich, ako by sme mohli chcieť, aby sa obrázok prehnal do poľa obsahu, ktoré je niekedy menšie alebo väčšie ako jeho pôvodná šírka (pre lepšiu predstavu o tom, ako by to mohlo fungovať, zmeňte veľkosť prehliadača):
Prezrite si aplikáciu Pen object-fit od Robina Rendleho (@robinrendle) na stránkach CodePen.
Ak obsah obrázka z akýchkoľvek dôvodov nevyplní obsahové políčko, nevyplnený priestor zobrazí pozadie prvku, v tomto prípade svetlošedé pozadie.
Podpora prehliadača
Stojí za zmienku, že iOS 8-9.3 a Safari 7-9.1 sú object-fit
vlastníctvom, ale nie object-position
.
Údaje o podpore tohto prehľadávača sú od spoločnosti Caniuse, ktorá obsahuje viac podrobností. Číslo označuje, že prehliadač podporuje túto funkciu v danej verzii alebo vyššej.
Desktop
Chrome | Firefox | IE | Hrana | Safari |
---|---|---|---|---|
32 | 36 | Nie | 79 | 10 |
Mobil / tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 4.4.3-4.4.4 | 10.0-10.2 |