HTML-kodning konventioner Be Smart och framtidssäkrad

HTML5 Style Guide och kodning konventioner
Bra och dålig kodning i HTML5, riktlinjer att följa.
HTML-kodning konventioner
Webbutvecklare är ofta osäkra på kodning stil och syntax för användning i
HTML.
Mellan 2000 och 2010, många webbutvecklare omvandlas från HTML till
XHTML.
Med XHTML, har utvecklarna tvungna att skriva giltiga och "välformade" kod.
HTML5 är lite mer slarvig när det gäller att koda validering.
Be Smart och framtidssäkrad
En konsekvent användning av stil, gör det lättare för andra att förstå din
HTML.
I framtiden, program som XML läsare kanske vill läsa din HTML.
Med hjälp av en väl formed- "close to XHTML" syntax kan vara smart.
alltid hålla din kod snyggt, rent och välformade.
Använd rätt dokument Typ
deklarera alltid dokumenttypen som den första raden i dokumentet:
<!DOCTYPE html>
Om du vill konsekvens med gemener taggar, kan du använda:
<!doctype html>
Använd gemener Element Names
HTML5 tillåter att blanda versaler och gemener i elementnamn.
Vi rekommenderar att du använder små elementnamn eftersom:




Blandning versala och gemena namn är dålig
Utvecklare använder normalt små namn (som i XHTML)
Gemener ser renare
Gemener är lättare att skriva
Dålig:
<SECTION>
<p>This is a paragraph.</p>
</SECTION>
Väldigt dåligt:
<Section>
<p>This is a paragraph.</p>
</SECTION>
Bra:
<section>
<p>This is a paragraph.</p>
</section>
Stäng alla HTML Elements
I HTML5, behöver du inte att stänga alla element (till exempel <p> element).
Vi rekommenderar att stänga alla HTML-element.
Dålig:
<section>
<p>This is a paragraph.
<p>This is a paragraph.
</section>
Bra:
<section>
<p>This is a paragraph.</p>
<p>This is a paragraph.</p>
</section>
Nära tom HTML Elements
I HTML5, är det valfritt att stänga tomma element.
Tillåten:
<meta charset="utf-8">
Även tillåtet:
<meta charset="utf-8" />
Emellertid är stängnings snedstreck (/) krävs i XHTML och XML.
Om du förväntar XML programvara för att få tillgång till din sida, är det en
bra idé att hålla stängnings snedstreck!
Använd gemener attributnamn
HTML5 tillåter att blanda versaler och gemener i attributnamn.
Vi rekommenderar att du använder små attributnamn eftersom:




Blandning versala och gemena namn är dålig
Utvecklare använder normalt små namn (som i XHTML)
Gemener ser renare
Gemener är lättare att skriva
Dålig:
<div CLASS="menu">
Bra:
<div class="menu">
Citat Attribut Värden
HTML5 tillåter attributvärden utan citattecken.
Vi rekommenderar att citera attributvärden eftersom:



Blandning versala och gemena värden är dåligt
Citerade värdena är lättare att läsa
Du måste använda citat om värdet innehåller mellanslag
Väldigt dåligt:
Detta kommer inte att fungera, eftersom värdet innehåller mellanslag:
<table class=table striped>
Dålig:
<table class=striped>
Bra:
<table class="striped">
bild~~POS=TRUNC
Tillsätt alltid attributet "alt" till bilder. Detta attribut är viktigt när bilden av
någon anledning inte kan visas. Också alltid definiera bild bredd och höjd. Det
minskar flimmer eftersom webbläsaren kan reservera utrymme för bilden före
lastning.
Dålig:
<img src="html5.gif">
Bra:
<img src="html5.gif" alt="HTML5" style="width:128px;height:128px">
Utrymmen och likhetstecken
HTML5 tillåter utrymmen runt likhetstecken. Men utrymmet mindre är lättare
att läsa, och grupper enheter bättre tillsammans.
Dålig:
<link rel = "stylesheet" href = "styles.css">
Bra:
<link rel="stylesheet" href="styles.css">
Undvika långa koden Lines
Vid användning av en HTML-redigerare, är det besvärligt att rulla åt höger
och vänster för att läsa HTML-koden.
Försök att undvika kodrader längre än 80 tecken.
Tomma rader och indrag
Inte lägga tomma rader utan anledning.
För läsbarhet, lägga till tomma rader för att separera stora eller logiska
kodblock.
För läsbarhet, lägga till två utrymmen i indrag. Använd inte fliken nyckeln.
Använd inte onödiga tomma rader och indrag. Det är inte nödvändigt att göra
ett indrag varje element:
Onödig:
<body>
<h1>Famous Cities</h1>
<h2>Tokyo</h2>
<p>
Tokyo is the capital of Japan, the center of the Greater Tokyo
Area,
and the most populous metropolitan area in the world.
It is the seat of the Japanese government and the Imperial
Palace,
and the home of the Japanese Imperial Family.
</p>
</body>
Bättre:
<body>
<h1>Famous Cities</h1>
<h2>Tokyo</h2>
<p>Tokyo is the capital of Japan, the center of the Greater Tokyo
Area,
and the most populous metropolitan area in the world.
It is the seat of the Japanese government and the Imperial Palace,
and the home of the Japanese Imperial Family.</p>
</body>
Tabell Exempel:
<table>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
<tr>
<td>A</td>
<td>Description of A</td>
</tr>
<tr>
<td>B</td>
<td>Description of B</td>
</tr>
</table>
Lista Exempel:
<ol>
<li>London</li>
<li>Paris</li>
<li>Tokyo</li>
</ol>
Utelämna <html> och <body>?
I HTML5-standarden, kan <html> taggen och <body> taggen utelämnas.
Följande kod kommer att validera som HTML5:
Exempel
<!DOCTYPE html>
<head>
<title>Page Title</title>
</head>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
Vi rekommenderar inte att utelämna <html> och <body> taggarna.
<Html> elementet är dokumentroten. Det är den rekommenderade platsen
för att ange sidan språk:
<!DOCTYPE html>
<html lang="en-US">
Deklarera ett språk är viktigt för tillgänglighets program (skärmläsare) och
sökmotorer.
Utelämna <html> eller <body> kan krascha DOM och XML programvara.
Utelämna <body> kan orsaka fel i äldre webbläsare (IE9).
Utelämna <head>?
I HTML5-standarden, kan <head> taggen också utelämnas.
Som standard kommer webbläsare lägga till alla delar före <body>, till en
standard <head> -element.
Du kan minska komplexiteten i HTML, genom att utelämna <head> taggen:
Exempel
<!DOCTYPE html>
<html>
<title>Page Title</title>
<body>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
</body>
</html>
Vi rekommenderar inte utelämna <head> taggen.
Utelämna taggar är främmande för webbutvecklare. Det behöver tid för att
etableras som en riktlinje.
metadata
<Title> element krävs i HTML5. Gör titeln så meningsfull som möjligt:
<title>HTML5 Syntax and Coding Style</title>
För att säkerställa korrekt tolkning och korrekt indexering i sökmotorer, både
språket och teckenkodning bör definieras så tidigt som möjligt i ett
dokument:
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>HTML5 Syntax and Coding Style</title>
</head>
HTML-kommentarer
Korta kommentarer ska skrivas på en rad, så här:
<!-- This is a comment -->
Kommentarer som omfattar mer än en rad, bör skrivas så här:
<!-This is a long comment example. This is a long comment example.
This is a long comment example. This is a long comment example.
-->
Långa kommentarer är lättare att observera om de är indragna två
utrymmen.
Style Sheets
Använd enkel syntax för att länka till formatmallar (attributtypen behövs
inte):
<link rel="stylesheet" href="styles.css">
Korta regler kan skrivas komprimeras på en rad, så här:
p.intro {font-family: Verdana; font-size: 16em;}
Långa regler ska skrivas över flera rader:
body {
background-color: lightgrey;
font-family: "Arial Black", Helvetica, sans-serif;
font-size: 16em;
color: black;
}







Placera öppningen fästet på samma linje som väljaren
Använd ett utrymme före öppnandet fästet
Använd två utrymmen i indrag
Använd semikolon efter varje fastighets värdepar, inklusive den sista
Använd endast citattecken runt värdena om värdet innehåller
mellanslag
Placera stängning fästet på en ny linje, utan inledande blank
Undvik linjer över 80 tecken
Laddar JavaScript i HTML
Använd enkel syntax för lastning externa skript (attributtypen behövs inte):
<script src="myscript.js">
Åtkomst HTML-element med JavaScript
En konsekvens av att använda "stökigt" HTML-format, kan resultera i
JavaScript-fel.
Dessa två JavaScript uttalanden ger olika resultat:
Exempel
var obj = getElementById("Demo")
var obj = getElementById("demo")
Använd gemener (små bokstäver) filnamn
Vissa webbservrar (Apache, Unix) är skiftlägeskänsliga om filnamn:
"london.jpg" kan inte nås som "London.jpg".
Andra webbservrar (Microsoft, IIS) är inte skiftlägeskänsliga: "london.jpg"
kan nås som "London.jpg" eller "london.jpg".
Om du använder en blandning av stora och små bokstäver, måste man vara
extremt konsekvent.
Om du flyttar från ett fall okänslig för ett fall känslig server, kommer även
små fel bryta din webbsida!
För att undvika dessa problem, alltid använda gemener filnamn.
filändelser
HTML-filer bör ha en .html eller htm förlängning.
CSS-filer bör ha en .css förlängning.
JavaScript-filer bör ha en .js förlängning.
Skillnader mellan .htm och .html
Det finns ingen skillnad mellan .htm och .html förlängningar. Båda kommer
att behandlas som HTML genom en webbläsare eller webbserver.
Skillnaderna är kulturellt:
.htm "sniffar" av tidiga DOS-system där systemet begränsade
förlängningarna till 3 tecken.
.html "sniffar" av Unix-operativsystem som inte har denna begränsning.
tekniska skillnader
När en URL inte anger ett filnamn (som http://www.w3schools.com/css/),
returnerar servern ett standard filnamn. Vanliga standard filnamn är
index.html, index.htm, default.html och default.htm.
Om servern är konfigurerad endast med "index.html" som standard filnamn,
måste filen ha namnet "index.html", inte "index.htm".
Däremot kan servrar konfigureras med mer än en standard filnamn, och
normalt kan du ställa in så många standard filnamn som behövs.
Hur som helst, är det full utsträckning för HTML-filer html, och det finns ingen
anledning bör det inte användas.