10 nye funksjoner i HTML 5.1 og hvordan du bruker dem IRL
HTML-spesifikasjonen fikk en større overhaling et par uker siden da W3C publiserte sin ny HTML 5.1 anbefaling i november 2016. I sitt siste blogginnlegg kalt W3C den nye store utgivelsen gullstandard, som HTML 5.1 gir oss nye måter på hvordan vi kan bruke HTML for å skape mer fleksible webopplevelser.
I denne artikkelen skal vi se på de nye funksjonene du kan bruke uten å berøre JavaScript, men forbedringene av JavaScript-bakgrunnen er også bemerkelsesverdige, som du kan se det i offisiell endringslogg.
Merk at for øyeblikket ikke alle nettlesere støtter alle disse funksjonene, så ikke glem å sjekk nettleserstøtte før du bruker dem i produksjon. Hvis du er interessert i videreutvikling av HTML-standarden, Du kan også sjekke ut det utkastet til HTML 5.2.
1. Definer flere bilderessurser for responsiv design
I HTML 5.1 kan du bruke tag sammen med
srcset
attributt til å lage responsivt bildevalg mulig. De tag representerer en bildebeholder som tillater utviklere å erklære forskjellige bilderessurser for å kunne tilpasse seg UAvisningsstørrelse, skjerm piksel tetthet, skjermtype og andre parametere som brukes i responsiv utforming.
De taggen selv viser ikke noe, det fungerer bare som kontekst for flere bilderessurser. Du må deklarere standard bilde ressurs som verdien av
src
attributt av tag, og alternative bilderessurser gå inn i
srcset
attributter av og
elementer.
Kodeeksempel:
2. Vis eller skjul ekstra informasjon
Med
og
tagger, kan du legg til utvidet informasjon til et innholdsdel. Den ekstra informasjonen vises ikke som standard, men hvis brukerne er interessert, de har muligheten til å ta en titt. I koden din skal du plasser
tag inne
. Etter
tag du kan legg til den ekstra informasjonen du vil gjemme deg.
Kodeeksempel:
Feilmelding
Vi kunne ikke fullføre nedlasting av denne videoen.
- Filnavn:
- yourfile.mp4
- Filstørrelse:
- 100 MB
- Varighet:
- 00:05:27
Slik ser dette kodeeksemplet ut i Firefox 50.0.2:
3. Legg til funksjonalitet i nettleserens kontekstmeny
Med element og dens
type = "kontekst"
attributt, du kan legg til tilpasset funksjonalitet til Kontekstmenyen til nettleseren. Du må tilordne som barnets element i
stikkord. De
id
av elementet må bære samme verdi som
kontekstmenyen
Egenskap av elementet som vi vil legge til kontekstmenyen til (som er element i eksempelet nedenfor).
Kodeeksempel:
De tag kan har tre forskjellige typer,
"Boksen"
, "kommando"
(som du må legge til en handling med JavaScript), og radio
. Det er mulig å legge til mer enn ett menyelement til en kontekstmeny, men nettleserstøtte for denne funksjonen er ikke veldig bra ennå. Chrome 54 støtter ikke det, og Firefox 50 tillater bare tilstedeværelse av en ekstra kontekstmeny. Nedenfor kan du se hvordan kodeeksemplet fungerer i Firefox 50.
4. Nest-hoder og bunntekster
HTML 5.1 lar deg nest topp og footers hvis hvert nivå er inneholdt i snittinnholdet. Notatet nedenfor er et skjermbilde fra W3C-dokumentene, og rådgiver utviklere om den riktige måten å ha header og bunntekst.
Denne funksjonen kan være nyttig hvis du vil legge til utdypede overskrifter til semantiske snittelementer, som for eksempel og
. Kodeneksempelet nedenfor lager et sidebjelke i overskriften, den
tag er også et snittelement, og legger til ekstra informasjon om forfatteren inne i den. Sidebjelken inne i toppteksten har sitt eget overskrift også med en undertekst og forfatterens kontaktinformasjon.
Kodeeksempel:
Artikkel Tittel
Artikkel intro
Andre avsnitt ...
5. Bruk kryptografiske nonces for stiler og skript
Med HTML 5.1 kan du legg til kryptografiske nonces til stiler og skript. Du kan bruke nonce
Egenskap innen and the
elements. A cryptographic nonce is a randomly generated number that can be used only once, and has to be regenerated for every page request. A nonce can be used by the Content Security Policy of a website to decide if the certain script or style should be applied on the page. In Google Developers' Web Fundamentals you can read more on the proper usage of nonces and CSP.
Below, you can see a simple code example of how to use the nonce
attribute, however note that in a real world scenario its value shouldn't be hard-coded but randomly generated.
Code example:
6. Lag omvendte linkrelasjoner
Du kan legge til rev
Egenskap til koblingene dine igjen. Den ble tidligere definert i HTML 4, men den ble ikke støttet av HTML5. HTML 5.1 tillater utviklere å bruk denne egenskapen igjen for og
elementer. De
rev
attributtet er motsatt av rel
, Det spesifiserer forholdet mellom det nåværende og det koblede dokumentet i motsatt retning (hvordan det nåværende dokumentet er relatert til den koblede).
Kodeeksempel:
De rev
Attributtet har blitt inkludert i HTML 5.1-spesifikasjonene hovedsakelig til Brukerstøtte RDFa som er en mye brukt strukturert dataoppslag format, og utvider HTML-språket.
7. Bruk bilder med null bredde
HTML 5.1 gjør det mulig å opprett null bredde bilder ved å tillate utviklere å bruke bredde
attributt med 0
som verdi. Denne funksjonen kan være nyttig hvis du vil inkludere bilder som du vil ikke vise til brukere, for eksempel sporing av bildefiler. Nullbreddebilder anbefales å være brukes sammen med tomt alt
egenskaper.
Kodeeksempel:
8. Separat nettleserkontekst for å hindre phishing-angrep
Ved å bruke samme opprinnelseslinker på nettstedet ditt kan du få problemer i noen tilfeller. Sårbarheten kalles target =”_blank” utnytte, og det er et ekkel phishing-angrep. Du kan (trygt) teste hvordan dette angrepet fungerer På denne klare Github-demosiden, og dens bakgrunnskode finner du her på Github.
HTML 5.1 har standardisert bruken av rel = "noopener"
Tilordne hvilken skiller nettleserkontekster eliminerer derfor dette problemet. Du kan bruke rel = "noopener"
innen og
elementer.
Kodeeksempel:
Din lenke som ikke vil gjøre problemer
9. Opprett et tomt alternativ
HTML 5.1 tillater utviklere å opprett en tom element. De
tag kan være barnets element i
,
, eller
elementer. Muligheten for ha en tom
kan være nyttig hvis du ikke vil foreslå hvilket alternativ brukerne skal velge, og som kan være nyttig når du vil designe brukervennlige skjemaer.
10. Behandle figurtekster mer fleksibelt
De
tag representerer a bildetekst eller en legende tilhører element som er en beholder for visuals, for eksempel illustrasjoner, bilder og diagrammer. Tidligere, den
tag kan bare brukes som første eller siste barn av element. HTML 5.1 har løsnet denne regelen, og nå
kan dukke opp hvor som helst innenfor sin container.