10 nya funktioner i HTML 5.1 och hur man använder dem IRL
HTML-specifikationen fick en större översyn för några veckor sedan när W3C publicerade sin ny HTML 5.1 rekommendation i november 2016. I sitt senaste blogginlägg kallade W3C den nya stora versionen guldstandard, som HTML 5.1 ger oss nya sätt att använda HTML för att skapa mer flexibla webbupplevelser.
I den här artikeln ska vi titta på de nya funktionerna du kan använda utan att röra JavaScript, men förbättringarna av JavaScript-bakgrunden är också anmärkningsvärda, som du kan se den i officiell ändringslogg.
Observera att för närvarande inte alla webbläsare stöder alla dessa funktioner, så glöm inte att kolla webbläsarsupport innan du använder dem i produktion. Om du är intresserad av vidareutveckling av HTML-standarden, du kan också kolla in det utkast till HTML 5.2.
1. Definiera flera bildresurser för responsiv design
I HTML 5.1 kan du använda taggar tillsammans med
srcset
attribut att göra responsivt bildval möjlig. De taggen representerar en bildbehållare som tillåter utvecklare att förklara olika bildresurser för att anpassa sig till UAvisningsstorlek, skärmpunktdensitet, skärmtyp och andra parametrar som används i responsiv design.
De taggen själv visar inte någonting, det fungerar bara som sammanhang för de flera bildresurserna. Du måste förklara standard bildresurs som värdet av
src
attribut av taggen och alternativa bildresurser gå in i
srcset
attribut av och
element.
Kod exempel:
2. Visa eller göm extra information
Med
och
taggar du kan lägg till utökad information till en innehållsdel. Den extra informationen visas inte som standard, men om användarna är intresserade, de har möjlighet att ta en titt. I din kod ska du placera
tagga inuti
. Efter
taggar du kan lägg till extra information du vill gömma dig.
Kod exempel:
Felmeddelande
Vi kunde inte avsluta nedladdningen av den här videon.
- Filnamn:
- yourfile.mp4
- Filstorlek:
- 100 MB
- Varaktighet:
- 00:05:27
Så här ser detta kodexempel ut i Firefox 50.0.2:
3. Lägg till funktionalitet i webbläsarens snabbmeny
Med element och dess
type = "kontext"
attribut, du kan lägg till anpassad funktionalitet till snabbmenyn i webbläsaren. Du måste tilldela som barnets element i
märka. De
id
av element behöver bära samma värde som
innehålls meny
attribut av det element som vi vill lägga till snabbmenyn till (vilket är element i exemplet nedan).
Kod exempel:
De tag kan har tre olika typer,
"Kryssrutan"
, "kommando"
(som du måste lägga till en åtgärd med JavaScript), och radio
. Det är möjligt att lägga till mer än ett menyalternativ till en snabbmeny, dock webbläsarsupport för den här funktionen är inte så bra än. Chrome 54 stöder inte det, och Firefox 50 tillåter bara närvaron av en extra sammanhangsmeny. Nedan kan du se hur kodexemplet fungerar i Firefox 50.
4. Nesthuvud och sidfot
HTML 5.1 tillåter dig att näshuvud och sidfot om varje nivå är innehöll inom sektionsinnehållet. Anteckningen nedan är en skärmdump från W3C-dokumenten, och ger utvecklare råd om rätt sätt att häva och sidfot.
Den här funktionen kan vara användbar om du vill lägga till utarbetade rubriker till semantiska sektionselement, som och
. Kodsexemplet nedan skapar ett sidofält inom rubriken,
taggen är också ett snittelement, och lägger till extra information om författaren inuti den. Sidospärren inuti huvudet har sin egen rubrik samt med en textning och författarens kontaktinformation.
Kod exempel:
Artikelrubrik
Artikel intro
Andra stycken ...
5. Använd kryptografiska nonces för stilar och skript
Med HTML 5.1 kan du lägg till kryptografiska nonces till stilar och skript. Du kan använda nonce
attribut inom 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. Skapa omvänd länk relationer
Du kan lägga till varv
attribut till dina länkar igen. Det definierades tidigare i HTML 4, men det stöddes inte av HTML5. HTML 5.1 tillåter utvecklare att använd det här attributet igen för och
element. De
varv
attributet är motsatsen till rel
, Det anger förhållandet mellan det aktuella och det länkade dokumentet i omvänd riktning (hur det aktuella dokumentet är relaterat till den länkade).
Kod exempel:
De varv
attributet har inkluderats i HTML 5.1-specifikationerna framförallt till Stöd RDFa vilket är en allmänt använd strukturerat data markup format, och utökar HTML-språket.
7. Använd bilder med nollbredd
HTML 5.1 gör det möjligt att skapa nollbreddsbilder genom att tillåta utvecklare att använda bredd
attribut med 0
som värde. Den här funktionen kan vara användbar om du vill inkludera bilder som du vill inte visa för användarna, till exempel spårning av bildfiler. Nollbreddsbilder rekommenderas att vara används tillsammans med tomma alt
attribut.
Kod exempel:
8. Separata webbläsarsammanhang för att förhindra phishing-attacker
Att använda samma ursprungslänkar på din webbplats kan så småningom få dig till några problem. Sårbarheten kallas för target =”_tom” utnyttja, och det är en otäck phishing-attack. Du kan (säkert) testa hur denna attack fungerar på den här kloka Githubs demosidan och dess bakgrundskod hittar du här på Github.
HTML 5.1 har standardiserat användningen av rel = "noopener"
attribut som separerar webbläsarens kontekster eliminerar därför problemet. Du kan använda rel = "noopener"
inom och
element.
Kod exempel:
Din länk som inte kommer att göra problem
9. Skapa ett tomt alternativ
HTML 5.1 tillåter utvecklare att skapa en tom element. De
tagg kan vara barnets element i
,
, eller
element. Möjligheten att ha en tom
kan vara användbart om du inte vill föreslå vilket alternativ användarna ska välja och vilka kan vara användbara när du vill utforma användarvänliga formulär.
10. Hantera bildtexter mer flexibelt
De
taggen representerar a bildtext eller en legend tillhör element som är en behållare för visuella bilder, såsom illustrationer, foton och diagram. Tidigare, den
tagg kan bara användas som första eller sista barnet i element. HTML 5.1 har löst denna regel, och nu
kan visas var som helst inom dess behållare.