Rask tips Legg til en @supports CSS-fil til dine CodePen-demoer

Når CodePen-demoer er avhengige av cutting edge CSS, er det en god ide å advare folk. La oss gi et varsel når nettlesere ikke støtter våre demoer, ved hjelp av @Brukerstøtte regjere å lage en nyttig gjenbrukbar CodePen-eiendel.

Sluttresultat

Her er det vi jobber med; et gjenbrukbart varsel for å markere ikke-støttet CSS. Den vil bli holdt nesten helt i sin egen penn, som vi kan legge til i andre demoer via en Ekstern CSS link:

Du finner at vi bruker den på Tuts + for CSS-opplæringsprogrammer som følgende: 

  • Bedre CSS Drop Caps Med "initial-letter"

    Drop caps er en form for dekorasjon noen ganger brukt i begynnelsen av en blokk med tekst; Første bokstav kjører flere linjer dypt og inntrer kroppen ...
    Ian Yates
    CSS
  • Ha det gøy med morgendagens CSS: Bakgrunnsfiltre

    I denne opplæringen vil vi se på et fremvoksende CSS-leketøy som går under navnet "Backdrop Filter".
    Louie Rootfield
    CSS

@Supports Rule

CSS @supports har eksistert i noen år og har ganske anstendig nettleserstøtte selv. Det gjør at vi kan utføre har spørsmål, bruker kun CSS hvis spesifiserte egenskaper støttes av nettleseren på det tidspunktet. Dette forhindrer halv-utført stilregler og tillater oss å vise en advarsel hvis vi har lyst på det.

Det fungerer ved å innpakke stildeklarasjoner i en tilstand, slik:

@supports (display: grid) div / * når CSS Grid støttes, gjør noe * /

Varsler

La oss piske opp et par raske varsler:

Vi legger til tekstinnholdet via en pseudo-element slik at vi kan styre det fra ett enkelt sted. Disse etikettene vil til slutt bli brukt på mange demoer, slik at innholdet er skilt, slik at vi kan endre dem på en gang.

.support-initial-letter :: etter content: "✋🏼 Hold på der cowboy; første bokstav støttes ikke i nettleseren din."; 

Du er velkommen til å utforme disse, men du vil.

Legge til @supports tilstanden

Våre varsler vises som standard, men vi vil bare at de skal vises når deres respektive egenskaper er ikke støttes. La oss legge til en betingelse for å gjøre det:

@supports (initial bokstav: 1) eller (-webkit-opprinnelig bokstav: 1) .support-initial-bokstav :: etter display: none; 

Her sier vi "Hvis første bokstav eller webkit-opprinnelig bokstav støttes, må du ikke vise meldingen .support-initialt brev".

Vi gjentar dette for hver av varslene, og gir oss følgende ferdige penn:

Hvor mange varsler kan du se?

Gjenbruk som en ekstern kodepens aktiva

Med vår penn lagret kan vi referere den fra andre penner, noe som gir oss en super nyttig ekstern ressurs. Legg den til en ny penn som en ekstern CSS-fil:

Dette vil bare trekke i CSS, ignorerer noen HTML eller JS vi har der inne, så legg til nå hvilket meldingselement du trenger til HTML-en for din nye penn:

Og det er det gjort! Når du oppdaterer @supportspenningen, blir disse endringene gjenspeilet i alle demoer du har brukt den på.

Konklusjon

Du vil legge merke til mange banebrytende CodePenners ved hjelp av en @supports varsel på pennene deres; Jen Simmons gjør det, Rachel Andrew gjør det, og vi gjør det. Å trekke varslingsstilene dine inn i en ekstern penn, er den perfekte måten å håndtere ting på, samtidig som du holder ryddet ren. Oppdater meldingene, legg til nye CSS-egenskaper, bruk sesongbasert merkevarebygging, bruk nøtter! Gi oss beskjed om hvordan du bruker @supports i kommentarene.

Ytterligere ressurser

  • CSS Feature Detection: Modernizr eller Feature Queries?
  • @supports på MDN
  • Legge til eksterne ressurser på CodePen