ved hjælp af postcss for cross - forenelighed med postcss

på tværs af browser forenelighed,,,,, tilføje en række fallbacks for internet explorer udgaver, 8, 9 og 10, og der tilsættes fallbacks for endnu ikke bred opbakning, vil ændre, ejendom, lad os begynde!,, før dit projekt, er det første, du skal gøre er at fælde din projekt at anvende enten sodavand eller grynter, afhængigt af deres præferencer.hvis du ikke allerede har en forkærlighed for det ene eller det andet anbefaler jeg med sodavand, som du får brug for mindre kode for at nå de samme mål, kan du læse om, hvordan vi skal fælde sodavand eller grynter projekter for postcss i den foregående tutorials,,,,,.,, hvis du ikke vil manuel opsætning dit projekt fra bunden, men du kan   downloade kilde filer, der er knyttet til denne forelæsning,   og ekstrakt   enten forudsat sodavand eller grynter   første projekt til en tom projekt mappe.  ,,, med en terminal eller kommando hurtig pegede på mappen, løb kommando, new public management installere,.,, installere plugins, nu hvor du har din tomme sodavand eller grynter + postcss projekt klar, er vi nødt til at installere plugins, vil du være med i denne lektion, går vi.at installere en hel del plugins, så i stedet for at installere dem en efter en, som vi gjorde i "hurtigt skal iværksættes vejledninger" gulp og grynter, vi skal installere dem alle på en gang med en fælles ledelse.,, hvad enten du bruger sodavand eller grynter, løb følgende kommando ind i dit projekt mappe at installere plugins, vi vil bruge:,, new public management installere autoprefixer postcss farve rgba fallback - postcss uklarhed postcss pseudoelements postcss vmin pixrem postcss vil ændre... redde dev, og nu plugins er installeret, lad os gå videre og få dem ind i jeres projekt.,,, belastning plugins via sodavand,, hvis du bruger sodavand, tilføje disse variabler i henhold til de variabler, allerede i filen:,,, var autoprefixer = kræver ('autoprefixer) var color_rgba_fallback = kræver('postcss-color-rgba-fallback) var uklarhed = kræver ('postcss-opacity) var pseudoelements = kræver ('postcss-pseudoelements) var vmin = kræver ('postcss-vmin) var pixrem = kræver ('pixrem) var will_change = kræver ('postcss-will-change), tilføj hver af disse nye variable navne i dine, forarbejdningsvirksomheder, system:,, var forarbejdningsvirksomheder = [will_change, autoprefixer, color_rgba_fallback, uklarhed, pseudoelements, vmin, pixrem], er en hurtig test, at alt er ved at løbe kommando, gulp css, så tjekker vi, at en ny stil. css "fil er dukket op i dit projekt er" best "mappe.,, belastning plugins via grynter,, hvis du bruger grynter, ajourføre, forarbejdningsvirksomheder, genstand, som satte under, muligheder,et objekt, følgende:,, forarbejdningsvirksomheder: [kræver ('postcss-will-change ') (), kræver ('autoprefixer') (), kræver ('postcss-color-rgba-fallback ') (), kræver ('postcss-opacity') (), kræver ('postcss-pseudoelements') (), kræver ('postcss-vmin ') (), kræver ('pixrem') ()], gør en hurtig test udarbejde med kommando, grunt postcss, kontrollere, at dit projekt er "best" folder indeholder nu en ny stil. css "fil.,,, du har alle de plugins installeret, der er nødvendige for denne forelæsning, og du er klar til at gå videre til at se hvordan man bruger dem til at øge deres stylesheets" cross - forenelighed, automatisk tilføje sælger ved at tilføje, ca.af de foranstaltninger for cross - forenelighed, vi dækker kun vil være nødvendige til specifikke anvendelser.automatiske sælger ved at tilføje, på den anden side, er noget, som jeg foreslår, bør ske med hvert projekt via autoprefixer stik af, der er skabt af andrej sitnik., kan det være vanskeligt at holde øje med, hvilke egenskaber kræver, som sælger præfikser på et givet tidspunkt, og ved hjælp af autoprefixer, du behøver ikke.brug autoprefixer som en del af hvert projekt, og det vil kontrollere din kodeks mod data fra caniuse.com, tilsæt derefter sælger præfikser, som det er nødvendigt, uden du skal tænke over det, lad os lave en lille test for at se, autoprefixer i aktion.der tilføjes følgende informations - og flexbox koden til dit projekt er "src /stil. css" fil:,, @ keyframes animationexample {fra (bredde: 0) til (bredde: 100%). animatethis (animation: animationexample 2s, display - flex;}, løb, gulp css, eller grynt postcss, at udarbejde din fil, og din "best /stil. css" nu skal indeholde den forhandler forud fastsatte kode:,, @ - webkit keyframes animationexample {fra (bredde: 0) til (bredde: 100%}} @ keyframes animationexample {fra (bredde: 0) til (bredde: 100%). animatethis {- webkit informationskampagne: animationexample 2s, animation: animationexample 2s, angive: - webkit kasse, angive: - webkit flex, angive: - fru flexbox;display - flex;}, som du kan se, sælger præfikser har været automatisk tilføjes i, som er dikteret af data fra caniuse.com på informationstiltag og flexbox., med angivelse af, om støtte, autoprefixer anvendelser browserlist at afgøre, hvilke browser udgaver vil føje støtte til.i henhold til indstillinger vil anvende sælger præfikser, som kræves til:,,, > 1%:, browsere, der anvendes af mere end én procent af mennesker på verdensplan, sidste 2 udgaver: de sidste to versioner af alle browser sporet af caniuse.com, firefox esr: de seneste firefox version, opera 12.1: opera version, 12.1, f.eks. vi kørte igennem ovenfor blev udarbejdet i henhold til autoprefixer er standardindstilling.dette betød, at støtte ie10 safari 8 var optaget, så, - ms - og - webkit -, præfikser, de har brug for, animation og flexbox, automatisk blev indsat, dog ie11 safari 9 ikke kræve, at disse præfikser, så hvis du var til at støtte din browserlist konfiguration kun ie11 + safari 9 + disse præfikser ikke længere vil blive tilføjet.,, prøv det her ved en, browsere om gennem autoprefixer i din gulpfile eller gruntfile som så: //i gulpfile »forædlingsindustrier« system: autoprefixer ({browsere:'safari > = 9, dvs. > = 11. '}) //i gruntfile »forædlingsindustrier« system: kræver ('autoprefixer') ({browsere: ['safari > = 9, dvs. > = 11]}),,, hvis du recompile din css, du får at se, er der ingen forskel between din originale og udarbejdet kode.det er fordi, ingen støtte, der anmodes om i safari 8 eller ie10, ingen sælger præfikser er blevet tilføjet i jakkesæt.,, beslægtede forbindelser:,, autoprefixer: http://github.com/postcss/autoprefixer, browserlist: http://github.com/ai/browserslist, tilsættes tilbage til "vil ændre" ejendom, vil ændre ejendom benyttes til at lade en browser ved før tid, at visse elementer af deres design skal være animeret.det gør det muligt at optimere gøre processen og om forsinkelser og film.i øjeblikket er denne ejendom er ikke underbygget af ie /kant, safari eller opera mini -.,, postcss vil ændre stik af, også skabt af andrej sitnik, tilføjer en reserve, der kan hjælpe disse browsere udføre et bedre stykke arbejde at gøre, selv om det ikke er den effektivitet, de kunne, hvis de støttede, vil ændre sig.det gør det ved at tilføje, backface synlighed, ejendom, som udløser oprettelsen af en compositor lag, der vil blive behandlet af gpu.,, for eksempel, at tilføje denne kodeks til din "src /stil. css" fil:,,. thiswillchange {vil ændre: omdanne;}, udarbejder deres stylesheet og du skal se på ud i din "best /stil. css" fil:,,. thiswillchange {backface synlighed: skjult, vil ændre: omdanne;}, note: dette stik af skal være lastet, før autoprefixer i din gulpfile /gruntfile.det er at gøre det muligt for autoprefixer at tilføje sælger præfikser til, backface synlighed, ejendom, som så: /* reserve med sælger præfikser * /. thiswillchange {- webkit backface synlighed: skjulte; backface synlighed: skjult, vil ændre: omdanne;}, knyttet forbindelser, postcss vil ændre http://github.com/postcss/postcss-will-change, stik af: alt, hvad du behøver at vide om css vil ændre ejendom, caniuse info: http: //caniuse. kom /&#bedrift = vil ændre, tilsættes fallbacks for gamle, dvs. spørgsmål, takket være forbedrede browser versioner fra microsoft, og store grupper fører an i, at støtte til gamle, dvs. vi er efterhånden mere og mere ikke under hele tiden at overveje fallbacks og workarounds for problematisk arv -s. microsoft selv vil være faldende støtte til ie8 i 2016.bootstrap 4 alfa blev for nylig løsladt, og det er også faldet støtte til ie8.google er holdt op med at støtte ie8 i 2012 og faldt ie9 støtte i 2013.,, det er sagt, ved udgangen af den dag hvert projekt skal vurderes fra sag til sag, og hvis du går efter en demografisk, der har stort forbrug satser for arv - browsere, kan du ikke have andet valg end at gøre dit bedste. for at støtte dem.hvis det er tilfældet, er følgende plugins kan hjælpe dig med at gøre processen mindre smertefuldt.,, skabe, rgba(), farve fallbacks,, ie8 har ingen støtte til rgba(), farver, så postcss farve rgba fallback - stik af med guillaume demesy tilføjer en flad hexadecimal farve som reserve., f.eks. tilføje denne kodeks til din "src /stil. css" fil:,,. rgbafallback {baggrund: rgba (0,0,0,0.5)}, udarbejde og du skulle se hexcode tilbage til din "best /stil. css" fil:,,. rgbafallback {baggrund:� baggrund: rgba (0,0,0,0.5)}, knyttet forbindelser, postcss farve rgba fallback - stik af. http://github.com/postcss/postcss-color-rgba-fallback, caniuse info: http: //////////////caniuse. kom /&#bedrift = css3 farver, skabe uklarhed, fallbacks,, ie8 ikke kan klare det, uklarhed, ejendom, så stik af med postcss røgtæthed vincent de oliveira tilføjer en dvs. specifikke filter for at opnå den samme virkning.,, tilføje denne kodeks til din kilde stylesheet:,,. opacityfallback {uklarhed: 0, 5;}, du skulle se efter indsamlingfald - ms - filter, alternativ:,,. opacityfallback {uklarhed: 0, 5; - ms - filter: "progid: dximagetransform. microsoft. alfa (uklarhed = 50)"}, knyttet forbindelser, postcss opacitet stik af: http://github.com/iamvdo/postcss-opacity, caniuse info: http: //caniuse. kom /&#bedrift = css uklarhed, konvertere,:, i: på pseudo - elementer, det betragtes som bedste praksis, når der udformes pseudo - elementer, såsom. element: før, til at bruge en dobbelt tyktarm notation,:.det er til at skelne dem fra pseudo -, klasser, såsom. element: den, der skulle anvende en enkelt tyktarm notation,:,.,, men ie8 ikke støtte den dobbelte tyktarm notation,: at skabe en pseudo - elementer, der støtter kun en enkelt tyktarm,.,.ved anvendelse af postcss pseudoelements stik af med sven tschui du kan kode i henhold til bedste praksis, og den har betegnelsen ændret automatisk.,,, tilføjes følgende to:, note kode:,,. pseudo - element: før (indhold: "'}, udarbejde din fil, og du skulle se det blevet reduceret til fælles:, note:,,. pseudo - element: før (indhold:"'}, ved kodning til bedste praksis og anvende dette stik af, når ie8 er helt pensioneret, du bare kan oparbejde deres css uden stik af og have en ordentlig syntaks på plads.,, beslægtede forbindelser, postcss pseudoelements stik af: http://github.com/axa-ch/postcss-pseudoelements, caniuse info: http: //////////////caniuse. kom /&#bedrift = css gencontent, tilsættes, vm, tilbage til, vmin, i ie9 den viewport relativeenhed, vmin, ikke støttes, men i stedet anvender tilsvarende enhed, vm.hvis du er der ie9, postcss vmin stik af med vincent de oliveira vil tilføje, vm, enheder som en reserve.,, tilføje denne kodeks til din "src /stil. css" fil:,,. vmfallback (bredde: 50vmin;},, recompile, og den deraf følgende kode bør have, vm - enhed på tilføjes:,,. vmfallback (bredde: 50vm; bredde: 50vmin;}, knyttet forbindelser, postcss vmin stik af: http://github.com/iamvdo/postcss-vmin, caniuse info: http: //////////////caniuse. kom /&#bedrift = viewport enheder, tilføje, forsyning, tilbage til rem, enheder, ie8 er ikke støtte, rem enheder på alle, og i begge ie9 og ie10 de støttes ikke i psuedo elementer og skrifttype, stenografere erklæring.med den knude pixrem stik af med vincent de oliveira og rob wierzbowski, du kan få varer, baseret fallbacks tilsat automatisk, når du bruger, rem enheder.,, tilføje denne kodeks til din kilde stylesheet:,,,. remfallback (højde: 10rem; skrifttype: 2rem arial.}. remfallback: før (indhold: "; linje højde: 1rem;},, recompile og du skulle se alle de relevante, forsyning, fallbacks tilføjede:,,. remfallback (højde: 160px. højde: 10rem; skrifttype: 32px arial; skrifttype: 2rem arial;}. remfallback: før (indhold:" "linje højde: 16px; linje højde: 1rem;}, knyttet forbindelser, node pixrem stik af: http://github.com/robwierzbowski/node-pixrem, caniuse info: http: //////////////caniuse. kom /&#bedrift = rem, lad os opsummere, at opsummere, hvad vi har covered i ovennævnte:,, autoprefixer er skal bruge værktøj for hvert projekt, autoprefixer kan konfigureres til at tilføje sælger præfikser baseret på hvad browsere er man nødt til at støtte, hvis der anvendes informationstiltag i deres projekt, overveje at bruge de stik af postcss vil ændre sig, hvis støtte ie8, overveje at bruge de plugins postcss farve rgba på postcss røgtæthed, postcss pseudoelements og postcss vmin. hvis støtte ie8, ie9, ie10 overveje at bruge den knude pixrem stik af, i næste lektion,, næste gang i vores postcss dybt dyk serie, er en lektion i, hvordan man bruger plugins til minify og optimere deres ccs.vi dækker inlining, @ import, filer, der kombinerer medier forespørgsler, hvis hvidt rum og flere metoder til at gøre deres stylesheets strømlinet som muligt.se, du der!,



Previous:
Next Page: