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