Mi az a CSS hack

A fejlesztők félreértik a kifejezés jelentését

Az első alkalommal kezelték a felmérés eredményeit, lekéstem egy kis ellentmondás van a válasz erre a kérdésre, de David Storey, egy mérnök a Microsoft, aki részt vett a létrehozását az új böngésző, felhívta rá a figyelmet. Szavazott 1418 emberek, és az eredmények a következők voltak:

Eleinte azt hittem, hogy az emberek összekeverik a khaki észlelési funkciók böngészőt. De még ez nem magyarázza az ilyen magas számok az Edge.

Aztán rájöttem, az emberek bizonyára nem teljesen tisztázott a kérdés; az emberek azt hiszik, hogy „a CSS hack böngésző X” ugyanaz, mint a „böngésző X támogatás.” Más logikus magyarázat nem lehet, különösen ha figyelembe vesszük a nagy érdeklődést más böngészők nem kell hack.

Hagyja, mindazoknak, akik zavaros szempontjából, adunk egy pontos meghatározása, hogy mi a hack.

Mi az a CSS-hack?

Haq - ez valami kód a CSS fájlban, mely stílusok kizárólag mondani a böngésző, a másik figyelmen kívül hagyja. Nézzünk egy példát. Ez CSS-Haq:

Fenti CSS kódot (más néven a hack «* -html») csak akkor kell alkalmazni, hogy a böngésző IE6 alatt. A legtöbb fejlesztő, támogatás IE 6, nem törődnek a régebbi verzió, így feltételezhetjük, hogy ez a hack IE6 csak.

Van egy hack csillag felöli «html». Ez a kombináció az egyetemes kiválasztó és a választó. Valaki felfedezte, hogy ez a két szelektor csinálnak össze úgy, hogy a megadott szelektor munka csak bizonyos változatai az IE, mint a többi böngésző figyelmen kívül hagyni. Ie bal külső francia .sidebar a fenti példa csak IE6 alatt. CSS kód van írva rendesen, és a hibaüzeneteket és figyelmeztetéseket, akkor nem fogja látni (az alábbiakban részletesebben). Itt egy másik példa a Browserhacks helyszínen, ezúttal IE11:

Nem megyek bele a részletekbe, és miért a fenti kód egy hack (részben azért, mert nem vagyok teljesen biztos, hogy értem, hogy helyesen), de a fenti kód csak akkor működik IE11. Tény, hogy Browserhacks oldal azt mondja, «IE11 felett,” hogy azt feltételezhetjük, hogy ez működik Edge. De én nem ellenőrzi. Fontos, hogy ne azért, amit a böngészők által írt egy hack, de ha megértjük, mi az.

Vajon CSS-hack-kód érvénytelen?

Ha csapkod a kódot, akkor lehet felbukkanó figyelmeztetés és / vagy hiba, ha száműzni a fájl elküldése W3C CSS kiértékelő. Ez a szolgáltatás nem mondja meg 100%, ott van a kód feltörése vagy sem.

Vannak esetek, amikor vannak olyan hack, de sem hiba a CSS kódot. Például, ha csak * -html dlyaIE6 hack, a kód biztonságosan át az ellenőrzésen.

Emellett egyes hack (mint csapkod az IE11, amit a fent említett) a gyártó változat előtagokat (pl. MS-sel teljesképernyős). Ebben az esetben, ha nem módosítja a beállításokat az érvényesítő ellenőrzi a fájl kerül sor, és a szolgáltatás, akkor megjelenik egy üzenet:

De ha lapozunk az érvényesítő a képernyő, nem lesz egy figyelmeztetés:

Ebben az esetben, figyelmeztetem, hogy:-MS teljesképernyős - «ismeretlen pszeudo előtag az eladóval változat.” Ha úgy gondolja, megakadályozzák az ilyen hibákat, az érvényesítő tudja nyitni a lap «További beállítások» és arról, hogy ezeket a figyelmeztetéseket hibaként:

Mi az a CSS hack

A részben «Vendor Extensions» a legördülő listából válassza ki a «hibák», majd miközben ellenőrzi a fájl nem ment át az ellenőrzésen, ha tartalmazza az eladó változat előtag vagy bármilyen más kódot egyes böngészők (opcionális hack). Másrészt, akkor elég könnyen írni ezt:

Ez a kód működik IE8 alatt. Van egy hack, és a backslash kilenc (\ 9). A legtöbb böngésző általában az egész sor figyelmen kívül fogja hagyni miatt \ 9. De ismeretlen okból IE8 alatt és ez a poszt elég normális munkát. Ebben a példában, függetlenül az érvényesítő beállítások felugrik egy hiba, a stílus nem érvényesíti:

Milyen módszerekkel nem nevezhető hack?

Módszerek és technikák az alábbiakban lehet adott esetben a CSS-hack:

!Fontos - nem csapkod

CSS összhangban! Fontos a végén nem tartozik ehhez a témához. Ez a bejegyzés érvényes CSS, hogy nem célja, hogy a munka egy adott böngésző. Ez nem egy hack, de lehet tekinteni, mint egy rossz stílus CSS.

Szállító változat előtagok nem mindig csapkod

Szállító változat előtagokat A konkrét böngészők, de általában nem hívják hack. A legtöbb esetben az eladó változat előtagokat is írta szabványos kódot. Ez nem egy hack. Bizonyos esetekben a kódot a gyártó változat előtagokat lehet tekinteni a hack. Egy példa lenne a fenti kódot _: - ms-fullscreen. Egy másik példa a felvétele hardveres gyorsítás WebKit böngésző. Mégis a legtöbb az eladó változat előtag egy külön téma. A W3C webhely dokumentációt a kódot az eladó változat előtagokat, amely támogatja azt az elképzelést, hogy egy ilyen kódot nem lehet tekinteni, mint egy hack.

Selectors erősen specifikus - nem csapkod

Ha növeli a specificitása szelektor átírni néhány stílus, ez nem nevezhető egy hack (például a test .content #sidebar p). Ez egy rossz stílus CSS, de ne törjenek.

A régi szintaxis szintén nem egy hack

Egy jó példa - komplex flexbox kódot támogatja a régebbi böngészők. Eltekintve attól a ténytől, hogy a mai napig, ez a kód nem sürgős, én nem nevezném egy hack. Akkor, amikor a böngésző támogatja a régi rekordot választó, a kód teljesen érvényes. Ennek hatására a kód pontosan ugyanaz, mint egy hack, de nem hiszem, hogy ez ugyanaz a dolog.

Kell használni a CSS-hack?

Csakúgy, mint más kérdések az internetes fejlesztési szektorban, ott nem lehet megválaszolni pontosan. Helyes azt mondani, az esettől függően. Támogatói a kódot a tisztaság fogja mondani, hogy jobb, ha nem használja hack. De gyakran nem ilyen egyszerű. Azt javaslom:

Tőle telhetőt megtesz, hogy írjon egy érvényes, egységes és cross-browser CSS kód nélkül csapkod a költségvetésen belül és időn a projekt.

Ha már próbálta az összes lehetőség, vagy nincs ideje vagy költségvetési korrigálja a korrekciós kódot, csapkod.

Írásakor hack használni tippeket Harry Roberts, úgy, hogy ha lesz az idő vagy a pénz akkor könnyen dobja vagy refactor a kódot.

Ha ezt a cikket nem emlékszik, akkor emlékezni csak egy mondat: CSS-hack használhatók a kódot, hogy egy vagy több változatát a böngésző, de a többi böngésző figyelmen kívül hagyja. Ez az egyszerű meghatározás CSS-hack. Ha támogatják a Microsoft Edge CSS, ez nem jelenti azt, hogy meg kell írni hack; támogatás egy teljesen más téma.

Ebben a cikkben, akkor nem ért egyet néhány állítást, de azt hiszem, hogy a legtöbb fejlesztő érti, mi a hack, egyetértenek a általánosítása a fenti.

Felülvizsgálat: Team webformyself.

A legtöbb IT hírek és webfejlesztés A csatorna-távirat

Mi az a CSS hack

HTML5 és CSS3 gyakorlatban nulla az eredmény!

Kapcsolódó cikkek