A contain
CSS tulajdonság azt jelzi a böngésző számára, hogy az elemet és leszármazottait a lehető legnagyobb mértékben függetlennek tekintik a dokumentumfától. Ez potenciálisan teljesítményelőnyöket kínál az elrendezés, a stílus, a festék, a méret vagy bármely kombináció számításával a DOM korlátozott területére és nem az egész oldalra.
A tulajdonságnak öt standard értéke és két gyorsírási értéke van, amelyek egyesítik a standard értékek variációit. Minden értéknek egyedi és megosztott előnyei vannak, az őket alkalmazó elem környezetétől függően.
Ennek a tulajdonságnak a tipikus használata egy olyan elem, amely valamilyen típusú tartalmat tartalmaz. Vegyünk egy widgetet, amely megjeleníti a bejövő adatokat, amely megváltoztatja az elem leszármazottainak elrendezését és látványát. Figyelembe kell venni egy olyan elemet is, amely harmadik féltől származó adatok eredményeit tartalmazza, például egy szalaghirdetést, ahol a befogadás előnyei lehetővé teszik, hogy fontossági sorrendet helyezzünk el bizonyos tartalmak festéséről, hogyan kezeljük a beérkezett tartalom méretezését, vagy meghatározzuk, hogy a tartalom még láthatónak is kell lennie. Egy többnyire statikus webhely viszont az első elrendezésen és az oldalterheléskor a képernyőre festésen kívül kevés haszonnal jár.
Szintaxis
div ( contain: none | strict | content | ( size || layout || style || paint ); )
div ( contain: none; /* no containment on element */ contain: layout; /* influences how element relates to other elements in the document */ contain: paint; /* influences how element is painted to screen */ contain: size; /* influences how element affects size calculations for the page */ contain: style; /* is considered at-risk for removal from spec */
contain: content; /* combines layout and paint */ contain: strict; /* combines layout, paint, and size */ )
Tulajdonságértékek
Elrendezés
A layout
visszatartó érték arról tájékoztatja a böngészőt, hogy az elem egyik leszármazottja sem befolyásolja az oldal más elemeit, és ezeknek a többi elemnek sincs hatása a tartalmazott elem leszármazottaira. Ez lehetővé teszi a böngésző számára, hogy csökkentse az oldalelrendezés létrehozásához szükséges számítások számát
További előny, hogy ha a tartalmazott elem képernyőn kívül van, vagy valamilyen módon homályos, akkor a böngésző késleltetheti vagy alacsonyabb prioritásra terelheti a kapcsolódó számításokat. Példa erre egy olyan blokkelem, amely nem látható a blokkelem végén, és a blokkelem eleje látható.
A befogadóval rendelkező elem layout
lesz elhelyező doboz a pozicionált leszármazottak számára - például az abszolút helyzetű elemek. Az elem új halmozási kontextust kap az oldalhoz képest, és az z-inde
x tulajdonság használható. Bár az iránytulajdonságok, például a top
vagy left
, nem érvényesek.
Annak ellenére, hogy a tartalmazott elem leszármazottai nem befolyásolhatják az oldal más elemeit, mégis befolyásolhatják a bennük lévő őselemet. Például egy leszármazott a benne lévő elem átméretezését okozhatja a változásokra reagálva. Ebben az esetben a tartalmazott elem továbbra is befolyásolhatja az oldal többi elemét, de az utódok továbbra sem vesznek részt ezekben a számításokban.
A következő bemutató egyszerű magyarázatot ad arra, hogy mi történik a layout
korlátozás alkalmazásakor. Az egyes felső négyzetekre kattintva a konténer kerül alkalmazásra, és a piros nyilak megváltoztatják a megjelenését. A piros nyilak megjelenése arra utal, hogy a doboz leszármazói befolyásolják-e az oldal többi mezőjét az elrendezés számításai során.
Festék
A paint
visszatartó érték arról tájékoztatja a böngészőt, hogy az elem egyik leszármazottja sem lesz festve az elem határdobozán kívül. Ha egy leszármazó elem úgy van elhelyezve, hogy a határoló dobozának egy részét a benne levő elem lenyomja, border-box
akkor ezt a részt nem szabad festeni. Ha egy leszármazó elem teljesen a benne lévő elemen kívül helyezkedik el, border-box
akkor egyáltalán nem festik. Ez hasonlít overflow: hidden;
az elemre való alkalmazáshoz , de a szükséges számítások kihagyásának vagy csökkentésének előnyei nélkül.
További előny, hogy ha a benne lévő elem valamilyen módon nem látható a nézetablakban, akkor a festési számítások elvégzésekor kihagyhatja az elem leszármazottait. Erre példa egy elem, amely a nézetablak bal oldalán található oldalról van elhelyezve. Ha a benne lévő elem nem látható, akkor garancia arra, hogy annak tartalma nem lesz látható. Ezért nem kötelesek részt venni a festék számításaiban.
A tárolóval ellátott elem paint
egyben egy doboz lesz a pozicionált leszármazottak számára is - például az abszolút pozícionálású elemek. Az elem új halmozási kontextust is kap az oldalhoz képest, és a z-index
tulajdonság használható. Bár az iránytulajdonságok, például a top
vagy left
, nem érvényesek.
A gördülő elem további előnyöket jelenthet, ha leszármazottait egy új festékrétegbe helyezik, amely elősegítheti a görgetés teljesítményét. Normális esetben a görgető elemek állandó újrafestést okozhatnak, mivel a leszármazottak megjelennek és eltűnnek a görgetés során. A gördülő elem a festéktartalmával potenciálisan kihagyhatja a gördülő leszármazottak ezt az állandó újrafestését.
A következő bemutató egyszerű magyarázatot ad arra, hogy mi történik a paint
korlátozás alkalmazásakor. Kattintson bárhová a lila mezőbe való váltáshoz. A konténer alkalmazásakor a zöld dobozok némelyike megváltozik. A zöld dobozok megjelenése megmutatja, hogyan festik vagy nem festik őket.
Méret
A size
visszatartó érték arról tájékoztatja a böngészőt, hogy az oldal elrendezési számításainak elvégzésénél egyik utódot sem kell figyelembe venni. A tartalmazott elemnek tartalmaznia kell a tulajdonságokat, height
és width
alkalmaznia kell a tulajdonságokat, különben nulla pixel négyzetre fog összeomlani. Csak magát az elemet kell figyelembe venni az oldalelrendezés számításakor, mivel a leszármazottak nem befolyásolhatják az elem méretét. A tartalmazott elem leszármazottai teljesen kihagyásra kerülnek az ilyen számítások során; mintha egyáltalán nem lennének utódai.
Az optimalizálás teljes előnyeinek size
elérése érdekében az elszigetelést általában más típusú elszigeteléssel együtt alkalmazzák.
A tárolóval rendelkező elem size
új halmozási kontextust kap az oldalhoz képest, és a z-index
tulajdonság használható. Bár az iránytulajdonságok, például a top
vagy left
, nem érvényesek.
A következő bemutató egyszerű magyarázatot ad arra, hogy mi történik a size
korlátozás alkalmazásakor. Kattintson bárhová a lila mezőbe való váltáshoz. A konténer alkalmazásakor a lila doboz mérete megváltozik. Alapértelmezés szerint a lila doboz magasságát a gyermekei határozzák meg, de az elszigeteléssel meg kell határozni a magasságot. A korlátozás alkalmazását követően a leszármazottak már nem vesznek részt a mérethez kapcsolódó elrendezési számításokban.
Stílus
A style
tárolóérték tájékoztatja a böngészőt arról, hogy egyes CSS-tulajdonságok, például számlálók és idézőjelek a hatókörbe kerülnek.
A counter-increment
és counter-set
tulajdonságokat át kell terjedni a benne lévő elem alfájára. Ha a kiterjesztett elemen kívülre kiterjesztjük, akkor egy új számláló jön létre.
A tartalom ingatlan értékét open-quote
, close-quote
, no-open-quote
és no-close-quote
meg kell távcsöves a zárt elem al-fa.
Ez az elszigetelési érték veszélyeztetettnek tekinthető, ha eltávolítják a specifikációból.
Tartalom
A content
konténment értéke az elrendezés és a festék konténer értékeinek kombinációja. Ez egyenértékű az elszigetelés ilyen módon történő alkalmazásával:
div ( contain: layout paint; )
Az egyes értékeknél a fent leírt összes lehetséges előny elérhetővé válna a benne foglalt elem számára. Ez a tárolás viszonylag biztonságosnak tekinthető, ha az oldal több elemére széles körben alkalmazható.
Szigorú
Az strict
elszigetelés érték kombinációja layout
, paint
és size
elszigetelés értékeket. Ez egyenértékű az elszigetelés ilyen módon történő alkalmazásával:
div ( contain: layout paint size; )
Az egyes értékeknél a fent leírt összes lehetséges előny elérhetővé válna a benne foglalt elem számára.
Mivel az elszigetelési értékek közül a „legszigorúbb”, ezt az értéket alapos mérlegeléssel kell használni. Ez annak a méretkövetelménynek köszönhető, amelyet a benne lévő elemre vet fel. Ezekkel a követelményekkel ez az elszigetelési érték valóban a legtöbb lehetséges teljesítményelőnyt kínálja a szigetelésnek.
Böngésző támogatás
Ez a böngésző támogatási adat a Caniuse cégtől származik, amely részletesebben szerepel. Egy szám azt jelzi, hogy a böngésző támogatja az adott és újabb verziók szolgáltatásait.
Asztal
Króm | Firefox | AZAZ | Él | Szafari |
---|---|---|---|---|
52 | 69 | Nem | 79 | Nem |
Mobil / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81. | Nem |