25 professionelle tip til at puste nyt liv i din CSS

Forfatter: John Stephens
Oprettelsesdato: 25 Januar 2021
Opdateringsdato: 10 Kan 2024
Anonim
Exploring JavaScript and the Web Audio API by Sam Green and Hugh Zabriskie
Video.: Exploring JavaScript and the Web Audio API by Sam Green and Hugh Zabriskie

Indhold

På et eller andet tidspunkt med enhver teknologi er der en følelse af, at stort set alt, hvad der kan gøres, er gjort. Når noget ikke længere er lige så nyt og skinnende, aftager interessen og opmærksomheden på den næste store ting. Dette har ofte været tilfældet i webbranchen, som er tilbøjelig til at blive frygtelig begejstret for et bestemt aspekt af teknologi før før eller senere forvandler det til det verdslige.

Da CSS først dukkede op, var det revolutionerende, og over tid har det udviklet sig til at gøre det muligt for designere at skabe fleksible, tæt udformede og smukke websidelayouter. For sent har der imidlertid været et forslag fra forskellige kanter om, at CSS er træt, og måske er tiden i solen gået.

Jeg vil fremvise, at der stadig er masser af spænding og liv i CSS-verdenen, hvad enten det drejer sig om banebrydende egenskaber, som du måske endnu ikke har udforsket, eller ved at bruge et aspekt af CSS på en måde, du ikke tidligere havde overvejet.

Her er nogle tip fra nogle af branchens førende CSS-eksperter.


(Bemærk: Nogle teknikker i denne funktion er banebrydende og understøttes muligvis ikke fuldt ud i alle browsere. Test og sørg grundigt for, at tilbagefald er på plads, inden du gør noget arbejde live.)

01. Match billeder med stedets farveskemaer

Christopher Schmitt, konferencearrangør

Konferencer har deres egne farveskemaer, og med mange højttalere kan workflow til styring af portrætter være komplekse. Manuel anvendelse af filtre skaleres ikke og er afhængig af, at du har adgang til f.eks. En bestemt Photoshop-handling. Jeg bruger nu PNG'er i høj opløsning i gråtoner og tilføjer toner ved hjælp af CSS-filtre. Dette giver mig mulighed for at matche ethvert portræt til en begivenheds plan og også genbruge billeder på tværs af flere temaer. Jeg har bare brug for en ny CSS-regel for hver. Se en demo.

02. Del jævnt plads i gitterets sidste række

Stephen Hay, designer og forfatter


Hvis du har et ukendt antal elementer, der skal vises i et gitter, kan du bruge Flexbox til at opdele den sidste række jævnt. Så hvis der kun er et element, tager det hele rækken op; hvis der er to emner, deles rækken i to osv. Se en demo.

03. Opret partikelanimationer med box-shadow

Ana Tudor, koder og matematikfanatiker

Ved blanding box-shadow med nogle matematik og Sass kan du tegne 2D-kurver, efterligne 3D-bevægelse og skabe skøre partikelanimationer, som alle fejler med lærred! Se en demo og en anden.

04. Animer polyeder med transformationer

Ana Tudor, koder og matematikfanatiker

Du har sandsynligvis set rene CSS-polygoner oprettet med grænser, men vi har et meget mere kraftfuldt værktøj i transformere ejendom. Kædning og anvendelse af transformationer på indlejrede elementer giver os mulighed for at skabe komplekse polygoner med billedbaggrund eller grænser og gennemsigtige interiører. Ved hjælp af 3D-transformationer kan vi kombinere disse 2D-figurer i polyeder og få de faste stoffer til at flette, udfolde sig, eksplodere eller rekombineres på en måde, der let forveksles med WebGL. Se en demo.


05. Master ’calc ()’ til positionering

Ana Tudor, koder og matematikfanatiker

jeg elskede calc () fra det øjeblik, jeg opdagede det. Det er nyttigt til at tæmme margener, polstring eller dimensioner og kan være en livredder, når det bruges til at placere eller dimensionere baggrunde, inden for gradienter eller transformationer og kombineret ikke kun med de samme gamle enheder, men også de nye og seje visningsport.

06. Gør kassen model sane med 'box-dimensionering'

Sawyer Hollenshead, Oak Studios dev og designer

Brug boksstørrelse for at redde din sundhed. Uden det kombineres et element med en defineret bredde på 250 pixel og 25 pixel polstring til en bredde på 300 pixel, hvilket gør blanding af pixels og procenter hårde. Med boksstørrelse:border-box kanter og polstring placeres i stedet inden for den definerede bredde.

07. Lodret centreret med CSS

Trent Walton, grundlægger af Paravel

Historisk har det været svært at centrere noget lodret med CSS, f.eks. Hvis du har et billede med tilstødende tekst, du vil have lodret justeret. I stedet for at stampe og forbande skal du bruge Flexbox til at håndtere justeringsproblemer. Se en demo.

08. Målret mod en bank med relaterede objekter

Jonathan Smiley, Zurb-partner og designleder

Barber CSS-linjevægt ved at bruge omtrentlige attributvælgere på klassenavne for at målrette mod en stor bank med relaterede objekter i stedet for at vedhæfte almindelige attributter til hver enkelt klasse. For eksempel ... [class * = "- block-grid-"] {} ... ville målrette mod lignende: .small-block-grid-3 .large-block-grid-5

09. Kontrolinddeling

Savid Storey, åben webadvokat

Bindestreg tages for givet i tryk, og nogle udviklere bruger bindestreger ejendom online, men få er opmærksomme på andre ejendomme, der giver bedre kontrol. Hvis du ikke er forsigtig, får du orddelestiger, hvor bindestreger bruges på flere linjer. En generel tommelfingerregel er ikke mere end to i træk, som du kan kontrollere ved hjælp af bindestreg-grænselinjer. Også, bindestreg med bindestreg giver dig mulighed for at specificere den mindste længde på et ord, der vil blive bindestreg sammen med det mindste antal tegn før og efter bindestregbruddet.

10. Udnyt skrivetilstandene

David Storey, åben webadvokat

Skrivemetoder giver dig mulighed for at definere retningen, som teksten flyder i. Noget østasiatisk tekst er skrevet lodret, og linjer vokser fra højre til venstre, specificeret med skrivemåde: lodret-rl (tb-rl i IE). Lodret tekst bruges ikke rigtig i europæiske skriftsystemer, men kan være praktisk til tabeloverskrifter, når du har begrænset vandret plads.

11. Brug gradienter på usædvanlige måder

Ruth John, designer

Baggrundsforløb kan se godt ud, når de bruges med kanter og kugler. Jeg bruger både på min blog og med en forprocessor kan jeg ringe til en mixin med den genbrugte kode for ikke at gentage det manuelt. Gå ikke supercrazy, fordi gradienter kan være processortunge. SCSS mixin til listekugler:

@mixin gradedBullet ($ color) {baggrundsbillede: lineær-gradient (venstre, lysere ($ color, 15%) 10px, $ color 11px, $ color 20px, mørkere ($ color, 15%) 21px, mørkere ($ color , 15%) 30px, gennemsigtig 31px); }

12. Brug streng-matching på links

Ruth John, designer

På min blog har jeg brugt CSS-attributvælgerne med strengtilpasning til sociale ikoner. Disse vises i hele min blog, nogle gange med tekst og nogle gange uden, men altid med et ikon. For at style det rigtige link med det rigtige sociale ikon, bruger jeg en streng match på href attribut for ankerelementet. Jeg bruger *= href på ankerelementet skal kun indeholde den streng, jeg angiver.

/ * for alle sociale links * /. social a: før {display: inline-block; polstring-højre: 30 px; font-family: ’FontAwesome’;} / * Hvert specifikt link * /. social a [href * = "twitter"]: før {content: " f099"; farve: # 52ae9f;}. social a [href * = "github"]: før {content: " f09b"; farve: # 5f2e44;}. social a [href * = "feed"]: før {content: " f09e"; farve: # b47742;}

13. Få FOUT til at fungere for dig

Jason Pamental, rektor ved H + W design

Internettet er baseret på den forudsætning, at det skal levere indhold, selvom browseren ikke kan gengive bling. Langsomt indlæste webskrifttyper kan være frustrerende, FOUT (Flash Of Unstyled Text) skurrende, når navigation og tekst flyder, mens skrifttyper downloades. Google og Typekit giver et svar: web-font loader. Ved at indsprøjte klasser på en side baseret på indlæsningsstatus for skrifttyper kan du style tilbagefald med disse klasser for at holde reflow til et minimum, hvilket også udrydder WebKits syndrom med 'usynligt indhold'. Se en demo.

14. Udforsk SVG for baggrunde

Emil Björklund, inUse webudvikler

De eneste browsere nu uden SVG-understøttelse er IE8 og derunder og Android 2 WebKit, og det er derfor muligt at bruge SVG til baggrunde i CSS, især sammen med en PNG-reserveløsning, såsom Grunticon. SVG kan styles af CSS, og der er interessant gennemblæsning af CSS-egenskaber (filtre!) Fra SVG, som vi kan lege med, når de anvendes til HTML.

15. Fokus brugere med 3D-overgange

Emil Björklund, inUse webudvikler

Brug af 3D-transformationer og brug af z-dimension i brugergrænseflader kan være virkelig nyttige, især til at skjule / vise eller skjule / udvide indhold. Det er også ret nemt at have et tilbagefald til en 2D-overgang eller slet ingen overgang i disse situationer. Det er et område, hvor lidt progressiv forbedring kan komme langt.

16. Opret cirkulære menuer med CSS og matematik

Sara Soueidan, frontend-udvikler

Cirkulære menuer er populære i mobilapps, og du kan bruge CSS-transformationer og overgange til at oprette en simpel cirkulær menu. Denne menu kan også ændres og tilpasses for at oprette en opad- eller nedadgående menu. Der er ingen direkte måde i CSS at oversætte et element diagonalt på, men du kan bruge værdien af ​​cirkelens radius, som du vil placere elementerne på, og anvende en simpel matematisk regel til at beregne de vandrette og lodrette oversættelsesværdier, der skal overføres til translateX () og oversætY () funktioner. På den måde ender du med en diagonal oversættelse for at flytte menupunkterne til de rigtige positioner på cirklen. Klikhændelsen, der lukker / åbner menuen, kan håndteres ved hjælp af JavaScript, eller du kan tage det et skridt videre og have en menu, der kun er CSS, ved hjælp af et CSS-afkrydsningsfelthack. I min demo bruger jeg JavaScript og HTML5 classList API, som ikke understøttes i alle browsere, så du bliver nødt til at se demoen i en moderne browser for at få den til at fungere eller fjerne kommentar til jQuery-koden i stedet for at bruge classList API kode.

Se en demo og en komplet tutorial. Eksempel på CSS afkrydsningsfelt hack.

17. Animer links på svæver

Paul Lloyd, interaktionsdesigneren The Guardian

Hover-stater skal ikke stole på at få en handling til at fungere eller give vigtige oplysninger, men du kan stadig forbedre grænseflader til musebaserede brugere. På 24ways.org afslører vi artikeltitler, når du holder markøren over links i den forrige / næste navigation. Dette blev opnået ved at skabe en ::efter pseudo-element indeholdende genereret indhold hentet fra værdien af ​​en data- attribut med en CSS-overgang anvendt for at få den til at blive vist på svævningen. Se en demo.

18. Lav enkle keyframe-animationer

Paul Lloyd, interaktionsdesigneren The Guardian

På 24ways.org tilføjede vi animerede hjørneflapper til resuméer, som åbnede på svævningen. Dette blev gjort ved at kombinere @keyframes regere med animationsegenskaben og ændre placeringen af ​​et baggrundsbillede for at opnå sprite-baseret animation. Tricket er at erklære antallet af rammer, du har i din animationssprite med trin () værdi. Se en demo.

19. Opret flydende 3D-effekter med skygger

Catherine Farman, Happy Cog-udvikler

Et nyligt projekt krævede et flydende produktfoto med en rund skygge nedenunder, hvilket skabte en 3D-effekt, der poppede ud af skærmen. Skyggen bruger flere CSS3-funktioner: grænseradius alfa gennemsigtighed og box-shadow. Det fungerer godt til produktgitre, fremvisningsbilleder i en startsidehelt eller ethvert lunefuldt design med en skeuomorf bøjning. Se en demo.

20. Opdater sideelementer ved hjælp af ': target'

Simon Madine, HeRe senior webudvikler

CSS er ikke et programmeringssprog i den sædvanlige forstand, men du kan stadig gøre kloge ting uden at falde tilbage til JavaScript. F.eks :mål pseudo-klasse anvendes på elementer, der er målet for et kliket link.

Du kan bruge dette til at definere tilstanden på en side, målrette mod en forælder, der indeholder mange elementer, og dine links bliver et middel til at kontrollere udseendet og layoutet for alle børnene med et enkelt klik. Se en demo.

21. Giv feedback med subtile animationer

Neil Renicker, designer og udvikler

CSS pseudo-elementer ::Før og ::efter sammen med CSS-overgange kan muliggøre dejlig animation, der giver subtil feedback til musebrugere. Byg f.eks. En CSS-pil inden for et pseudo-element, anvend en overgang til pseudo-elementet (overgang: alle let-i-ud-.15s;), og tilføj derefter en simpel layoutændring til : svæver pseudoklasse (såsom ændring margin-top). Se en demo.

22. Forbered dig på 'vil-animere'

Paul Lewis, koder og Chrome-teammedlem til udviklerrelationer

Hvis du har brugt -webkit-transform: translateZ (0) for at magisk gøre dine sider hurtigere, erstattes hacket, som i mange browsere simpelthen opretter et nyt kompositorlag, med vil-animere. Snart vil du være i stand til at fortælle browseren, hvad du planlægger at ændre om et element (dets position, størrelse, indhold eller rulleposition), og browseren anvender den rigtige optimering under emhætten. Mere information.

23. Humaniser inputfelter

Yaron Schoen, grundlægger af Made For Humans

Tilføjelse af hurtige animationer til elementer, som brugerne interagerer med, får en grænseflade til at føle sig mindre computeragtig. Med inputfelter kan du prøve at sætte en overgangsopkald indeni, så når du fokuserer eller ikke fokuserer på det, er der en jævn overgang.

input, tekstarea {-moz-overgang: alle 0,2s lette-out; -o-overgang: alle 0,2'ere letter-out; -webkit-overgang: alle 0,2'er letter-out; -ms-overgang: alle 0,2s lempelse; overgang: alle 0,2s lette-ud;

24. Pause og afspil CSS-animationer

Val Head, designer og konsulent

Du kan 'pause' og 'afspille' CSS-animation ved at ændre dens animation-play-tilstand ejendom. Hvis du indstiller den til 'pause', stopper din animation på plads, indtil du skifter animation-play-tilstand til kører, for eksempel på svæver.

.animating_thing {animation: spin 10s lineær uendelig; animation-play-tilstand: pause; }. animating_thing: hover {animation-play-state: running; }

25. Brug ikke CSS-variabler

Dave Shea, designer og forfatter

Vi får endelig CSS-variabler, for eksempel for at skrive en farves hex-værdi en gang og henvise til den gennem et typografiark. Men den officielle specifikation er detaljeret, tilføjer syntaktisk kompleksitet, tilbyder overvældende funktionalitet og understøttes stort set ikke af de fleste browsere. I en æra, hvor Sass er meget populær og går ud over variabler med kraftig programmeringslogik som brugerdefinerede funktioner og hvis / ellers udsagn, kommer den officielle specifikation langt op.

Forhåbentlig har disse toptips fornyet dit syn på CSS og de muligheder, det repræsenterer inden for webudvikling og design. Glem ikke at teste nogen af ​​disse teknikker grundigt for at kontrollere browsersupport, før du sætter noget arbejde i live.

Ord: Craig Grannell Illustration: Mike Chipperfield

Denne artikel opstod oprindeligt i netmagasin nummer 253.

Fascinerende Artikler
3 måder at rette perspektivfejl i Photoshop på
Læs Mere

3 måder at rette perspektivfejl i Photoshop på

Nogle almindelige problemer, du vil tøde på, når du fotograferer bygninger, er en kombination af per pektivfejl og tøndeforvrængning fra kameraet. Heldigvi er dette let at ret...
Mozilla vil have udviklere til at få deres spil på
Læs Mere

Mozilla vil have udviklere til at få deres spil på

Internettet er platformen, eller å iger Game On-web tedet, en Mozilla-konkurrence, der øn ker at "vi e, hvad der er muligt at bruge internettet om en åben pilplatform for verden&qu...
Junk står i centrum for branding af filmfestival
Læs Mere

Junk står i centrum for branding af filmfestival

Når det kommer til reglerne for vellykket branding, vil du ikke nødvendigvi henvende dig til din kralde pand for at finde in piration. Du kan dog finde in piration på de mærkelig t...