Semantisk struktur for HTML5-side. Semantikk i HTML5. HTML-dokumenter. Grunnleggende HTML5
Legg igjen en kommentar 6,950
I denne artikkelen vil vi dekke det grunnleggende HTML du trenger for å komme i gang. La oss definere «elementer», «attributter», «tags» og andre viktige konsepter som du kanskje har hørt om, samt deres rolle i språket. Vi viser deg også hvordan HTML-elementer fungerer, en typisk HTML-side og forklarer andre viktige aspekter ved språket. Vi skal leke med en ekte HTML-side underveis, så du ikke går lei!
Hva er HTML?
HTML (HyperText Markup Language) er ikke et programmeringsspråk; dette er markup language brukes til å bestemme strukturen til nettsider som besøkes av brukere. De kan ha en kompleks eller enkel struktur, alt avhenger av intensjonen og ønsket til webutvikleren. HTML består av en rekke elementer som du bruker til å omslutte, pakke eller markere ulike deler av innholdet slik at det har et bestemt utseende eller fungerer på en bestemt måte. Inline for ">", og at på tomme elementer er det verken påkrevd eller tillatt en sluttkode. Hvis ingen attributter er spesifisert, brukes standardverdiene. "> Tagger kan konvertere noe av innholdet til en hyperkobling som kan følges til en annen nettside, kursivere ord og så videre. Tenk for eksempel på følgende linje:
Katten min er veldig sint
Hvis vi vil at en linje skal vises på samme måte, kan vi definere den som et "avsnitt" ved å omslutte den i avsnittskoder (Definerer et tekstavsnitt. ">
), for eksempel:
Katten min er veldig sint
Merk: Tagger i HTML skiller ikke mellom store og små bokstaver, noe som betyr at de kan skrives med store eller små bokstaver. Taggen) definerer for eksempel tittelen på dokumentet, som vises i tittellinjen i et nettleservindu eller på en sidefane. Den inneholder bare tekst og tagger i elementet ignoreres. ">
kan skrives som , , , osv. og det vil fungere fint. Beste praksis er imidlertid å forminske alle tagger for konsistens, lesbarhet og andre grunner.
Struktur av HTML-elementer
La oss se nærmere på avsnittselementet:
Hoveddelene av elementet er:
Åpningsetikett: Den består av navnet (betegnelsen) på elementet (i vårt tilfelle, p), plassert inne vinkelbeslag... Denne taggen fungerer som et tegn på begynnelsen av et element, fra dette øyeblikket begynner taggen å påvirke innholdet etter det.
Avsluttende tag: ser ut som den innledende, men inneholder en skråstrek før tagnavnet. Det fungerer som et tegn på slutten av elementet. Å utelate lukkekoder er en vanlig nybegynnerfeil, som kan føre til udefinerte resultater – i beste fall vil alt fungere som det skal, i andre kan det hende at siden ikke er tegnet i det hele tatt eller ikke tegnes som forventet.
Innhold: Som du kan se, i vårt tilfelle er innholdet ren tekst.
Element: starttag + slutttag + innhold = element.
Aktiv læring: Lag ditt første HTML-element
Rediger tekstlinjen nedenfor i boksen Inndata ved å pakke den inn i tagger og(sett inn før køen til spesifiser start av element, og etter henne til spesifiser slutten av elementet) - disse handlingene bør gjøre en tekstlinje kursiv! Du kan se endringer i sanntid i felten Produksjon.
NullstilleVis løsning for å se det riktige svaret.
Spillbar kode
Resultat
Redigerbar kode
html (font-family: "Open Sans Light", Helvetica, Arial, sans-serif;) h2 (font-size: 16px;) .a11y-label (margin: 0; text-align: right; font-size: 0.7 rem; width: 98%;) body (margin: 10px; bakgrunn: # f5f9fa;) var textarea = document.getElementById ("kode"); var reset = document.getElementById ("reset"); var løsning = document.getElementById ("løsning"); var output = document.querySelector (". output"); var kode = tekstområde.verdi; var userEntry = tekstområde.verdi; function updateCode () (output.innerHTML = textarea.value;) reset.addEventListener ("klikk", funksjon () (textarea.value = code; userEntry = textarea.value; solutionEntry = htmlSolution; solution.value = "(! LANG : Vis løsning";
updateCode();
});
solution.addEventListener("click", function() {
if(solution.value === "Vis løsning") {
textarea.value = solutionEntry;
solution.value = "Skjul løsning";
} else {
textarea.value = userEntry;
solution.value = "Vis løsning";
}
updateCode();
});
var htmlSolution = "!} Dette er min tekst.
Nestede elementer
Nesting_elements
Du kan også neste elementer inne i andre elementer - dette kalles hekking... Hvis vi vil understreke at katten vår er veldig sint, kan vi legge ved ordet "veldig" i elementet) indikerer at innholdet er av stor betydning, alvor eller haster. Nettlesere viser vanligvis innhold med fet skrift. "> , som betyr at dette ordet er ekstremt viktig i denne sammenhengen:
Katten min veldig sint.
Du må også sørge for at elementene er nestet riktig: i følgende eksempel åpner vi p-elementet først, deretter det sterke elementet, deretter lukker vi det sterke elementet først, deretter p. Følgende er ikke riktig:
Katten min veldig sint.
Elementer skal åpne og lukke riktig på en slik måte at de er tydelig innenfor eller utenfor hverandre. Hvis de overlapper som i eksempelet ovenfor, vil nettleseren din prøve å finne ut hva du betyr for deg, og du vil få uforutsigbare resultater. Så ikke gjør det!
Blokker og innebygde elementer
Blokker versus innebygde elementer
Det er to viktige kategorier av elementer i HTML som du bør være oppmerksom på - blokknivåelementer og innebygde elementer.
Elementer på blokknivå danner en synlig blokk på siden - de vil vises på en ny linje etter alt innhold som kom før dem, og alt innhold etter dem vil også vises på en ny linje. Som oftest er blokknivåelementer strukturelle sideelementer, som for eksempel er avsnitt (avsnitt), lister, navigasjonsmenyer, bunntekst osv. Elementer på blokknivå er ikke nestet i inline-elementer, men noen ganger kan de nestes i andre blokknivåelementer ...
Innebygde elementer er de som er inneholdt i blokknivåelementer som bare omgir små deler av dokumentets innhold, ikke hele avsnitt og grupperinger av innhold. Innebygde elementer resulterer ikke i en ny linje i dokumentet: de finnes vanligvis i et tekstavsnitt, for eksempel definerer et element en hyperkobling for å gå til et bestemt sted på en side eller til en annen side på Internett. Den kan også brukes (avviklet) for å lage et anker - dette er målet for hyperkoblinger på en side: så lenker er ikke begrenset til bare å navigere mellom sider. "> (lenke) eller aksenter som eller) indikerer at innholdet er av stor betydning, alvor eller haster. Nettlesere viser vanligvis innhold med fet skrift. "> .
Ta en titt på følgende eksempel:
Førstsekundtredje
fjerde
sjette
er et inline-element, så som du kan se her, er de tre første elementene på samme linje med hverandre uten mellomrom. På den annen side definerer den et tekstavsnitt. ">
er et blokknivåelement, så hvert element sitter på en ny linje, med mellomrom over og under hver (denne avstanden bestemmes av standard CSS-stilen som nettlesere bruker på avsnitt).
Merk: HTML5 redefinerte elementkategorier i HTML: se Elementinnholdstypekategorier. Selv om disse definisjonene er mer presise og entydige enn de som kom før, er de mye vanskeligere å forstå enn "blokk" og "inline", så vi vil holde oss til dem i denne delen.
Merk: Ikke forveksle begrepene "blokk" og "inline" som brukes i denne delen med visningstyper med samme navn i CSS. Selv om de er korrelert som standard, endrer ikke visningstypen i CSS kategorien til et element, og det påvirker heller ikke hva det kan og kan nestes inn. Denne ganske vanlige forvirringen er en av grunnene til at HTML5 har droppet disse begrepene.
Tomme elementer
Tomme elementer
Ikke alle elementer samsvarer med mønsteret ovenfor: starttag, innhold, slutttag. Noen elementer består av en enkelt kode og brukes vanligvis til å sette inn noe uansett hvor de er i dokumentet. For eksempel er element et HTML-element som brukes til å beskrive bilder. "> setter inn et bilde på siden akkurat der det er plassert:
Dette vil sende ut følgende til siden din:
Merk: Tomme gjenstander kalles noen ganger tomme elementer.
Egenskaper
Elementer kan også ha attributter som ser slik ut:
href: Verdien av dette attributtet spesifiserer nettadressen som, i henhold til ideen din, lenken skal indikere hvor nettleseren går når du klikker på den. For eksempel, href = "https://www.mozilla.org/".
title: title-attributtet beskriver tilleggsinformasjon om lenken, for eksempel: hvilken side den fører til. For eksempel, title = "(! LANG: Mozilla-hjemmesiden" . Она появится в виде всплывающей подсказки, когда вы наведете курсор на ссылку.!}
target: Målattributtet spesifiserer visningskonteksten som skal brukes til å vise koblingen. For eksempel vil target = "_blank" vise koblingen i en ny fane. Hvis du ønsker å vise koblingen i gjeldende fane, utelate dette attributtet.
Hvis du tar feil, kan du alltid starte på nytt ved å bruke knappen Nullstille... Hvis øvelsen gir deg problemer, trykk på knappen Vis løsning for å se det riktige svaret.
Spillbar kode2
Resultat
Redigerbar kode
Trykk Esc for å gå ut av kodeområdet (Tab setter inn et tabulatortegn).
html (font-family: sans-serif;) h2 (font-size: 16px;) .a11y-label (margin: 0; text-align: right; font-size: 0,7rem; width: 98%;) body ( margin: 10px; bakgrunn: # f5f9fa;) var textarea = document.getElementById ("kode"); var reset = document.getElementById ("reset"); var løsning = document.getElementById ("løsning"); var output = document.querySelector (". output"); var kode = tekstområde.verdi; var userEntry = tekstområde.verdi; function updateCode () (output.innerHTML = textarea.value;) reset.addEventListener ("klikk", funksjon () (textarea.value = code; userEntry = textarea.value; solutionEntry = htmlSolution; solution.value = "(! LANG : Vis løsning";
updateCode();
});
solution.addEventListener("click", function() {
if(solution.value === "Vis løsning") {
textarea.value = solutionEntry;
solution.value = "Skjul løsning";
} else {
textarea.value = userEntry;
solution.value = "Vis løsning";
}
updateCode();
});
var htmlSolution = "!}
En lenke til min favorittside.
"; var solutionEntry = htmlSolution; textarea.addEventListener (" input ", updateCode); window.addEventListener (" load ", updateCode); // stopp tabulatortasten tabber ut av tekstområdet og // få den til å skrive en tabulator ved innstillingsposisjonen i stedet textarea.onkeydown = funksjon (e) (if (e.keyCode === 9) (e.preventDefault (); insertAtCaret ("\ t");) if (e.keyCode === 27) (textarea.blur ();)); function insertAtCaret (tekst) (var scrollPos = textarea.scrollTop; var caretPos = textarea.selectionStart; var front = (textarea.value) .substring (0, caretPos); var back = (textarea.value) .substring (textarea.selectionEnd, textarea.value.length); textarea.value = front + text + back; caretPos = caretPos + text.length; textarea.selectionStart = caretPos; textarea.selectionEnd = caretPos; textarea.focus (); textarea.scrollTop = scrollPos;) // Oppdater den lagrede brukerkoden hver gang brukeren oppdaterer tekstretningskoden textarea.onkeyup = function () (// Vi ønsker kun å lagre tilstanden når brukerkoden blir vist, // ikke løsningen, slik at løsningen ikke lagres over brukerkoden if (solution.value === "(! LANG: Vis løsning") {
userEntry = textarea.value;
} else {
solutionEntry = textarea.value;
}
updateCode();
};
!}
Boolske attributter
Boolske attributter
Noen ganger vil du se attributter skrevet uten mening - dette er helt lovlig. Slike attributter kalles booleaner og de kan bare ha én verdi, som i utgangspunktet er det samme som navnet. Som et eksempel, ta disabled-attributtet, som du kan tilordne for å gjengi input-elementer hvis du vil at de skal deaktiveres (inaktive) slik at brukeren ikke kan legge inn noen data i dem.
For korthets skyld er det helt akseptabelt å skrive dem slik (vi har også plassert et ikke-deaktivert inngangselement for referanse for å gi deg en bedre forståelse av hva som skjer):
I utdataene vil begge alternativene se slik ut:
Utelatelse av anførselstegn rundt attributtverdier
Utelatelse av anførselstegn rundt attributtverdier
Når du ser rundt på verdensveven, vil du komme over forskjellige ukjente måter å skrive markup på, inkludert å skrive attributtverdier uten anførselstegn. Dette er greit under visse forhold, men vil ødelegge markeringen din i andre. Hvis vi for eksempel går tilbake til hyperkoblingsøvelsen vår, kan vi skrive hovedvarianten med bare href-attributtet slik:
favorittnettstedet
Men når vi legger til tittelattributtet i samme stil, gjør vi det feil:
favorittnettstedet
På dette tidspunktet vil nettleseren feiltolke markeringen din, og tenke at tittelattributtet faktisk er tre forskjellige attributter - tittelattributtet med verdien "The" og to boolske attributter: Mozilla og hjemmeside. Dette er åpenbart ikke det som var ment og vil resultere i en feil eller uventet oppførsel i koden, som vist i live-eksemplet nedenfor. Prøv å holde musepekeren over lenken for å se hvordan tittelteksten ser ut!
Vårt råd: bruk alltid anførselstegn i attributter - dette vil unngå slike problemer, og derfor vil koden være mer lesbar.
Enkelte eller doble anførselstegn?
Enkelte eller doble anførselstegn?
I denne artikkelen vil du legge merke til at alle attributter er omgitt av doble anførselstegn. Du kan imidlertid se enkeltanførselstegn i andres HTML-dokumenter. Dette er en ren smakssak og du kan fritt velge hvilken du foretrekker. Begge de følgende linjene er likeverdige:
En lenke til mitt eksempel. En lenke til mitt eksempel.
Du må imidlertid passe på å ikke blande dem sammen. Følgende vil være feil!
En lenke til mitt eksempel.
Hvis du bruker én type anførselstegn i HTML-en din, kan du sette en annen type anførselstegn i dem uten å forårsake problemer:
En lenke til mitt eksempel.
Hvis du vil sette inn anførselstegn av samme type, må du bruke HTML-enheter. Dette vil for eksempel ikke fungere:
En lenke til mitt eksempel.
Derfor må du gjøre dette:
En lenke til mitt eksempel.
HTML-dokumentstruktur
Nedenfor er et eksempel på innpakning av grunnleggende, frittstående HTML-elementer som ikke er veldig nyttige alene. La oss se hvordan de individuelle elementene kombineres for å danne hele HTML-siden:
Min testside
Dette er siden min
Her er hva vi har:
: Doktype. For lenge siden, da HTML var ung (1991/2), ble doctypes brukt som referanser til et sett med regler som en HTML-side måtte følge for at den skulle anses som god, noe som kunne bety automatisk feilkontroll og andre nyttige ting . Doctypes så omtrent slik ut:Imidlertid er det ingen som tenker så mye på dem i disse dager, og doktyper har blitt en historisk artefakt som må inkluderes overalt for at alt skal fungere som det skal.det er den korteste typen doctype som anses som gyldig. Dette er faktisk alt du trenger å vite om doctypes.
: Et element er roten (toppnivåelementet) til et HTML-dokument, så det kalles også rotelementet. Alle andre elementer må være underordnede av dette elementet (må være inne i det). "> inneholder alt innholdet på hele siden, og blir noen ganger referert til som "rotelementet".
: Et element inneholder maskinlesbar informasjon (metadata) om et dokument, slik som tittel, skript og stilsider. "> ... Dette elementet fungerer som en beholder for alt innhold du ønsker å inkludere i HTML-dokumentet ditt, men ikke ønsker å vises til besøkende på siden din. Den inkluderer ting som søkeordene og sidebeskrivelsen du ønsker skal vises i søk, CSS for å style innholdet ditt, erklære et støttet tegnsett og mer. Du vil lære mer om dette i den neste artikkelen i denne veiledningen.
: Dette elementet setter tegnkodingen for dokumentet ditt til utf-8, som inkluderer de fleste tegnene fra alle språk kjent for menneskeheten. I hovedsak vil siden nå kunne vise alt tekstinnhold du kan legge ved den. Det er ingen grunn til å ikke sette denne kodingen, det vil også unngå noen problemer senere.
: Element) definerer tittelen på dokumentet, som vises i tittelen på nettleservinduet eller på sidefanen. Den inneholder bare tekst og tagger i elementet ignoreres. "> ... Dette elementet angir tittelen på siden din, som vises i nettleserfanen som laster den siden, og brukes også til å beskrive siden når du lagrer den i bokmerker eller favoritter.
: Element ."> ... Han inneholder hele innhold du vil vise besøkende på siden din – tekst, bilder, videoer, spill, spillbare lydspor eller noe annet.
Aktiv læring: Legge til elementer i HTML-dokumentet ditt.
Aktiv læring: Legge til noen funksjoner i et HTML-dokument
Hvis du vil eksperimentere med å skrive HTML på datamaskinen din, kan du:
Kopier HTML-eksemplet ovenfor.
Opprett en ny fil i et tekstredigeringsprogram.
Lim inn koden i den nye tekstfilen.
Lagre filen som index.html.
Nå kan du åpne en nettleser og se hva koden er gjengitt til, og deretter endre den, oppdatere siden og se hva som skjedde. Til å begynne med ser siden slik ut:
For denne øvelsen kan du redigere koden lokalt på datamaskinen din, som foreslått ovenfor, eller du kan jobbe i redigeringsprogrammet nedenfor. Bare innholdet i elementet vises i editoren er innholdet (innholdet) i HTML-dokumentet. Det kan bare være ett element i et dokument
."> ... Prøv følgende:
Legg til sidetittelen umiddelbart etter at åpningstaggen representerer innholdet (innholdet) i HTML-dokumentet. Det kan bare være ett element i et dokument ."> ... Teksten må være mellom åpningstaggen
og lukking
.
Skriv i avsnittet om alt du synes er interessant.
Fremhev viktige ord ved å pakke dem inn i en åpningstagg og lukking
Legg til en lenke til avsnittet ditt som forklart tidligere i artikkelen.
Legg til et bilde i dokumentet under avsnittet som forklart tidligere i artikkelen. Hvis du kan bruke et annet bilde (fra datamaskinen eller Internett) - er du en flott kar!
Hvis du blir forvirret, kan du alltid starte eksemplet fra begynnelsen med knappen Nullstille... Gi opp – se svaret ved å klikke videre Vis løsning.
Spillbar kode3
Live utgang
Redigerbar kode
Trykk Esc for å flytte fokus bort fra kodeområdet (Tab setter inn et tabulatortegn).
html (font-family: sans-serif;) h2 (font-size: 16px;) .a11y-label (margin: 0; text-align: right; font-size: 0,7rem; width: 98%;) img ( max-width: 100%;) body (margin: 10px; bakgrunn: # f5f9fa;) var textarea = document.getElementById ("kode"); var reset = document.getElementById ("reset"); var løsning = document.getElementById ("løsning"); var output = document.querySelector (". output"); var kode = tekstområde.verdi; var userEntry = tekstområde.verdi; function updateCode () (output.innerHTML = textarea.value;) reset.addEventListener ("klikk", funksjon () (textarea.value = code; userEntry = textarea.value; solutionEntry = htmlSolution; solution.value = "(! LANG : Vis løsning";
updateCode();
});
solution.addEventListener("click", function() {
if(solution.value === "Vis løsning") {
textarea.value = solutionEntry;
solution.value = "Skjul løsning";
} else {
textarea.value = userEntry;
solution.value = "Vis løsning";
}
updateCode();
});
var htmlSolution = "!}
jeg liker virkelig spille trommer... En av mine favoritttrommeslagere er Neal Peart, som \ spiller i bandet Rush. \ Mitt favoritt Rush-album er for tiden Moving Pictures.
\ "; var solutionEntry = htmlSolution; textarea.addEventListener (" input ", updateCode); window.addEventListener (" load ", updateCode); // stopp tabulatortasten tabber ut av tekstområdet og // få den til å skrive en tabulator ved innstillingsposisjonen i stedet textarea.onkeydown = funksjon (e) (if (e.keyCode === 9) (e.preventDefault (); insertAtCaret ("\ t");) if (e.keyCode === 27) (textarea.blur ();)); function insertAtCaret (tekst) (var scrollPos = textarea.scrollTop; var caretPos = textarea.selectionStart; var front = (textarea.value) .substring (0, caretPos); var back = (textarea.value) .substring (textarea.selectionEnd, textarea.value.length); textarea.value = front + text + back; caretPos = caretPos + text.length; textarea.selectionStart = caretPos; textarea.selectionEnd = caretPos; textarea.focus (); textarea.scrollTop = scrollPos;) // Oppdater den lagrede brukerkoden hver gang brukeren oppdaterer tekstretningskoden textarea.onkeyup = function () (// Vi ønsker kun å lagre tilstanden når brukerkoden blir vist, // ikke løsningen, slik at løsningen ikke lagres over brukerkoden if (solution.value === "(! LANG: Vis løsning") {
userEntry = textarea.value;
} else {
solutionEntry = textarea.value;
}
updateCode();
};
!}
Mellomrom i HTML
Mellomrom i HTML
Du har kanskje lagt merke til at det er mange mellomrom i kodeeksemplene i denne artikkelen. Dette er ikke nødvendig i det hele tatt - de følgende to eksemplene er likeverdige:
Hunder er dumme.
Hunder er dumme.
Det spiller ingen rolle hvor mye mellomrom du bruker i markeringen din (som kan inkludere mellomrom og linjeskift), nettleseren vil krympe alt mellomrom ned til ett mellomrom når du analyserer koden din. Hvorfor bruke mye plass? Svaret er forståelighet - det er mye lettere å finne ut hva som skjer i koden din hvis den er praktisk formatert i stedet for bare å samles i ett stort rot. I koden vår er hvert nestede element forskjøvet med to mellomrom i forhold til elementet det er i. Du kan bruke hvilken som helst formatering (spesielt antall mellomrom for innrykk), men det er bedre å holde seg til én stil.
Entitetsreferanser: Inkludert spesialtegn i HTML
Entitetsreferanser: Inkludert spesialtegn i HTML
I HTML-tegn< , >, "," og & er spesialtegn. De er en del av HTML-syntaksen i seg selv, så hvordan inkluderer du et av disse tegnene i teksten din, for eksempel hvis du vil bruke et amresand eller mindre enn-tegn, og du ikke trenger at disse tegnene skal tolkes av nettleseren som en del av markeringen?
I følgende eksempel ser du to avsnitt som snakker om nettteknologi:
I HTML definerer du et avsnitt ved å bruke
I live-utgangen nedenfor kan du legge merke til at det første avsnittet ikke blir riktig gjengitt ettersom nettleseren tror det andre elementet er
Er begynnelsen på et nytt avsnitt! Det andre avsnittet i koden vår vises riktig fordi vi erstattet vinkelparentesene med mnemoniske referanser.
HTML-kommentarer
HTML-kommentarer
I HTML, som i de fleste programmeringsspråk, er det mulig å skrive kommentarer i koden. Kommentarer ignoreres av nettleseren og er ikke synlige for brukeren, de legges til for å forklare hvordan den skrevne koden fungerer, hva enkelte deler av den gjør osv. Denne praksisen er nyttig hvis du går tilbake til kode du ikke har sett for lang tid eller når du ønsker å overføre den til noen andre.
For å gjøre en del av innholdet i en HTML-fil til en kommentar, må du sette den i spesielle markører, for eksempel:
Jeg er ikke inne i en kommentar
Som du vil se nedenfor, vil det første avsnittet vises på skjermen, mens det andre ikke vil vises.
Oppsummering
Du har kommet til slutten av denne artikkelen - vi håper du har hatt glede av reisen gjennom det grunnleggende om HTML. På dette stadiet bør du allerede forstå litt hvordan språket ser ut, hvordan det fungerer på et grunnleggende nivå, og kunne beskrive flere elementer og attributter. Nå er det perfekte tidspunktet og stedet for å fortsette å lære HTML. I påfølgende artikler vil vi gå over noen av tingene du allerede har dekket, men i mye mer detalj, og også introdusere noen av de nye funksjonene i språket. Bli hos oss!
Merk: Nå som du begynner å lære mer om HTML, kan du også begynne å lære det grunnleggende om Cascading Style Sheets eller CSS. CSS er språket som brukes til å style nettsider (for eksempel endre font eller farger, eller endre sidelayout). Som du snart vil finne ut, er HTML og CSS laget for hverandre.
Hallo! I denne leksjonen vil du IKKE finne noe nyttig for deg selv hvis du ALLEREDE er kjent med dannelsen av strukturen til et HTML-dokument. For de som IKKE er kjent, vil jeg vise den korrekte (gyldige) HTML-strukturen til et nettdokument, inkludert for et WordPress-nettsted.
Generell korrekt struktur av et HTML-dokument
Først av alt, uten lange forord - den generelle strukturen til ethvert HTML-dokument bør være som følger:
/ * Indikerer typen av gjeldende DTD * / / * Viser begynnelsen av dokumentet * / / * Viser begynnelsen av tittelen (overskrift) * / Test/ * Viser tittel * // * Viser starten på overskriften * / / * Viser begynnelsen av hoveddelen av dokumentet (body) * / / * Innholdet i dokumentet * /
/ * Viser slutten av hoveddelen av dokumentet * // * Viser slutten av dokumentet * /
Hvis vi fjerner forklaringene som jeg viste etter hver tag, så ser den enkle strukturen til et HTML-dokument slik ut
Test
DTD Gjeldende dokumenttype
Gjeldende dokumenttype ( Dokumenttypedefinisjon, DTD) er nødvendig for at nettleseren skal forstå hvordan den gjeldende nettsiden skal tolkes, siden HTML finnes i flere versjoner.
I tillegg er det andre markup-språk enn HTML, for eksempel XHTML.
Merk: XHTML er EXtensible HyperText Markup Language, som vi oversetter som det utvidede hypertekst-markeringsspråket.
XHTML ligner HTML, men forskjellig i syntaks. For å forhindre at nettleseren forvirrer språk, og du må vise den i den første linjen med kode, typen til gjeldende dokument DOCTYPE.
Tag-konsept i HTML
Du har lagt merke til at hele strukturen til et HTML-dokument er definert av visse tagger - visse ord omsluttet av vinkelparenteser.
Et ord omsluttet av vinkelparenteser i et HTML-dokument kalles en tag. Hver kode har sin egen betydning, definert av markeringsreglene.
Taggen betyr hodet til html-dokumentet. Head-taggene lagrer informasjon for nettlesere og søkemotorer. Inkludert i form av metakoder;
Taggen betyr hovedinnholdet i html-dokumentet. Nemlig tekst, bilder, Java-skript, etc.;
[p]-taggen er et blokkelement, den starter alltid på en ny linje. Det betyr et avsnitt av hovedinnholdet i et html-dokument.
Viktig! Alle html-tagger må være sammenkoblet. Det vil si åpningstaggen<тег>, må lukkes med en lukkebrikke, med skråstrekтег> .
H1-h6 overskrift og underoverskrift tags
For å forbedre struktureringen av teksten i dokumentet, samt forbedre SEO-en til nettsider, er det flere hovedinnholdstagger. De kalles overskrifts- og underoverskriftstagger fra h1 til h6, 6 totalt.
De, som [p] -paragraph-taggene, som lar deg markere de semantiske delene av teksten, lar deg dele teksten inn i semantiske skjebner, og gir hver del sin egen tittel.
Tagger h1—h6 har en underordnet avhengighet, er det lavere nivået av denne underordningen paragraf.
Det er viktig å merke seg at å bryte den underordnede tag-avhengigheten h1—h6—s vil ikke forstyrre visningen og gyldigheten av dokumentet, men vil bare forverre optimaliseringen for søkemotorer.
Et eksempel på en utviklet HTML-dokumentstruktur
Her er et akademisk eksempel på en mer avansert HTML-dokumentstruktur:
Test
Hovedoverskrift
Hovedoverskrift
Første underoverskrift
Hovedoverskrift
Andre underoverskrift
Første mindre underoverskrift
HTML 5-struktur
HTML 5 bør ha følgende dokumentstruktur:
Dette er en erklæring som viser hva er dette dokumentet i HTML5;
dette er rotelementet til HTML-siden;
Element med metakoder om dokumentet;Dette elementet definerer tittelen for dokumentet;Dette elementet inneholder det synlige innholdet på siden;
Element definerer en stor overskrift
Elementet definerer et avsnitt.
Arbeid i html5 h2 - h6-tagger
Alle tagger er doble. Start-taggen kalles start-taggen, og slutt-taggen kalles slutt-taggen.
HTML-oppmerking på et WordPress-nettsted
Til tross for at WordPress-skriptet er skrevet i php, har alle nettstedsfiler, eller rettere sagt alle filene til arbeidssidemalen, html-markering. La oss se på et eksempel på malen header.php-filen Tjuesytten:
Du kan se det hvis all WordPress-funksjonalitet er vert i klassisk HTML-oppmerking. Det er en dokumenttype:
Sammenkoblede tagger,
Åpningsbrikke.
Den avsluttende taggen finner du i footer.php-filen.
Slik viser du HTML-koden til en side på et WordPress-nettsted
Det du skriver i nettstedsredigereren, lager artikler eller sider, er bare en del av HTML-siden til nettstedet. Det er ikke engang hele siden.
For å se HTML-koden til en side på et WordPress-nettsted, som ofte er nødvendig, trenger du:
Åpne siden i en nettleser;
Bytt til engelsk tastaturskrift;
Trykk på følgende knapper:
Chrome: Ctrl + U
Opera: Ctrl + U
Mozilla: Ctrl + U
Kanskje du ennå ikke vet hvorfor du trenger det. Tro meg, dette vil være nødvendig mer enn én gang for å analysere nettstedet ditt og muligens nettstedene til konkurrenter.
Produksjon
Avslutningsvis vil jeg gjerne trekke en konklusjon, men bare tanken kommer til hodet på at artikkelen ble, helt for nybegynnere. Ved første øyekast er det stor forskjell mellom eksempelkoden til artikkelen og eksempler fra ekte nettsteder. Alle filer har imidlertid samme struktur som HTML-dokumentet, og det er ekstremt viktig å ikke bryte denne strukturen når du arbeider med nettstedet.
Når du oppretter et nettsted, er det første du må være oppmerksom på hvordan nettsiden gjengis. Dette er et slags «fundament» i tomtebygging. Derfor, før du fordyper deg i studiet av mer komplekse teknologier for å lage nettsteder, anbefales det å ha minst en grunnleggende kunnskap om HTML. I denne leksjonen skal vi bli kjent med Html, la oss analysere HTML-dokumentstruktur og på praktiske eksempler vil vi konsolidere den ervervede kunnskapen.
Hva er HTML?
Html står for HyperText Markup Language. Dette språket er ansvarlig for hvordan hyperteksten vil bli vist på sidene på nettstedet. La oss nå se hva hypertekst er? Det er ingen hemmelighet at en enkelt nettside kan inneholde mange forskjellige typer informasjon, det være seg tekst, noen form for tabeller, grafikk, videoer, lyd osv. Så all denne informasjonen kan kalles i ett ord - hypertekst.
Merk at HTML er et markup-språk, ikke et programmeringsspråk. På dette språket er det ingen logiske funksjoner, og det er umulig å utføre noen matematiske beregninger på det. HTML-sider har utvidelsen .html eller .htm og behandles av nettlesere - IE, Mozilla Firefox, Google Chrome, Yandex Chrome, Opera, etc.
La oss nå se hvordan nettleseren forstår hva og hvordan den skal vises på en nettside? Det er veldig enkelt. Hypertekst-markeringsspråket HTML har innebygde kommandoer kalt tagger. Det er av dem at nettleseren blir guidet.
HTML-dokumentstruktur
Ethvert HTML-dokument (webside) må ha en viss struktur. Dette vil unngå mulige problemer når du åpner sider i nettlesere. Som et eksempel, la oss vurdere en side som inneholder følgende HTML-kode:
HTML-dokumentstruktur
...
La oss analysere i rekkefølge hva som er inkludert i denne strukturen:
1. Det første som går i et HTML-dokument er en versjonsindikasjon (første linje). For korrekt drift bør denne linjen spesifiseres når du lager en nettside.
3. Deretter kommer området for toppen av siden (header). Dette gjøres ved hjelp av taggen
... I overskriften angir vi tittelen på siden vår ved å plassere sidetittelen mellom taggene og... Deretter vises HTML-kodingen til dokumentet (femte linje). Dette gjøres for å vise det kyrilliske alfabetet riktig. Lukk overskriftsområdet med en tag.
4. Meta-tag "beskrivelse" - et sammendrag av siden, beregnet på søkemotorer. Denne taggen er viktig for søkemotoroptimalisering og må fylles ut.
5. Metatagg «søkeord» – søkeord som kan finnes på siden. Denne taggen er også beregnet på søkemotorer. Denne taggen brukes sjelden i dag.
6. Brødteksten på siden åpnes med en tag
og lukkes henholdsvis med taggen
... Brødteksten på en nettside inneholder som regel hovedinnholdet - tekst, video, lyd og annen informasjon.
Dermed svarte vi på spørsmålet om hva som er HTML og undersøkte strukturen til et HTML-dokument. Informasjonen innhentet i denne leksjonen er grunnleggende konsepter, du kan ikke klare deg uten dem. Vi skal snakke om mer komplekse ting i andre leksjoner.
1. Artikkeltittel 1. Artikkel underoverskrift 1. Artikkel under underoverskrift 2. Sidepaneloverskrift 1. Sidefelts underoverskrift 3. Bunntekstoverskrift
Når du ser på det, vil du kanskje legge merke til at overskriftene i sidefeltet og bunnteksten ikke bør avhenge av tittelen på artikkelen. Ok, men la oss gå bort en stund. I dette tilfellet har vi en klar struktur på siden, dannet av overskrifter, der tittelen på artikkelen er overskriften på det høyeste nivået.
... Nå må vi bevare tingenes tilstand etter å ha brakt strukturen til formen av HTML5-standarden.
HTML5 dokumentstruktur.
Vel, la oss ta HTML 4.01-strukturen som grunnlag og bruke seksjonselementer for å transformere den til en ny som fullt ut samsvarer med HTML5-standarden. I de fleste opplæringsprogrammer og artikler for dette formålet ble jeg rådet til å gjøre følgende:
Sidetittel osv.
Artikkeltittel
Artikkelinnhold.
Artikkel underoverskrift
Mer innhold.
Artikkel under underoverskrift
Mer innhold.
For bakoverkompatibilitet endret jeg ikke alle dokumenthodene til
elementer, som anbefalt i HTML5-spesifikasjonen, men etterlot de samme nivåene for alle overskrifter (spesielt siden i vårt tilfelle total erstatning av overskrifter med
Det vil heller ikke påvirke strukturen til HTML5-standarddokumentet). Som et resultat vil vi få en struktur helt identisk med den som var i forrige HTML 4.01-eksempel. Dette er hva nettleseren danner, som ikke bruker den nye HTML5-standardalgoritmen. Men i tilfelle du bruker et verktøy som HTML5 outliner, som nøyaktig bruker den nevnte algoritmen, vil du se følgende struktur som et resultat:
1. Bunntekstoverskrift 1. Uten tittel NAV 2. Artikkeltittel 1. Artikkel underoverskrift 1. Artikkel under underoverskrift 3. Sidepaneloverskrift 1. Sidefelts underoverskrift
Hva sier du denne gangen? Hvordan skjedde det i elementet
Er tittelen og bunnteksten snudd?
La oss først ta en titt på kjelleren. Element
Så hva er veien ut av denne situasjonen? Vi kan "isolere" tittelen i bunnteksten med et seksjonselement, og etter det vil den ikke lenger tolkes som tittelen på dokumentet som helhet:
Denne måten å løse problemet på kan betraktes som en slags hack, og med dens hjelp tvinger vi virkelig overskriften av interesse for oss til å ta rett plass i strukturen til dokumentet. Men nå oppstår et annet problem - elementet
og dokumentet som sådan ble stående uten overskrift, og dets struktur ser slik ut:
1. Uten tittel BODY 1. Uten tittel NAV 2. Artikkeltittel 1. Artikkel underoverskrift 1. Artikkel under underoverskrift 3. Sidepaneloverskrift 1. Sidefelts underoverskrift 4. Bunntekstoverskrift
Oppretting av navigasjonsseksjoner
Som et resultat har vi to navnløse seksjoner. Når det gjelder elementet
For å være ærlig er det ikke helt klart for meg hvorfor elementet er seksjonert. Ja, navigasjonslister drar ofte nytte av å ha passende titler for dem. Men nå, gitt at elementet er seksjonsbasert, må vi spesifisere en overskrift for hver seksjon som er opprettet med dens hjelp, for ikke å få navnløse seksjoner i dokumentstrukturen som et resultat. Vel, la oss gjøre dette:
For ikke å forlate selve dokumentet, det vil si rotelementet
ikke navngitt del av strukturen, må du angi en overskrift som ikke vil gjelde for noen delelementer. I dette tilfellet står vi også overfor et problem, nemlig at dette ikke tillater oss å omslutte innholdet på selve siden i elementets ramme. og samtidig vil tittelen vi har laget bli tolket som tittelen på hele dokumentet, det vil si det høyeste nivået, og ikke bare som tittelen på innholdsblokken, noe som ikke alltid er akseptabelt.
Og hvis dette virkelig er tilfelle, kan vi konkludere med at elementet det anbefales kun å bruke i tilfeller der én side inneholder flere artikler, som i tillegg til deres individuelle overskrifter er representert av en generell hovedoverskrift på høyeste nivå. Et eksempel på en slik sak kan være hjemmesiden til et nettsted eller en side som inneholder et bloggarkiv. Men i tilfelle dokumentet inneholder én enkelt artikkel (som for eksempel siden du er på for øyeblikket), så bruken av seksjonselementet i den meningsløs.
Etter min mening er det flere forskjellige måter å løse problemet på.
Ikke bruk seksjonselementer.
Å ekskludere seksjoneringselementer fra dokumentet forhindrer at dette problemet oppstår. Strukturen vil bli formet etter de gamle reglene. Den eneste åpenbare ulempen i dette tilfellet er at hvis nettlesere støtter disse elementene en dag, vil du ikke kunne dra nytte av deres hypotetiske fordeler. Høres ikke overbevisende ut, gjør det?
Spesifiser artikkeltittelen på nytt utenfor alle seksjoneringselementer.
Det vil si å duplisere hovedoverskriften og deretter skjule den med CSS bare for den riktige plasseringen i dokumentstrukturen? Jeg synes dette er en dårlig idé. Ta en titt på denne situasjonen fra synspunktet om dokumenttilgjengelighet (les den ved hjelp av spesielle programmer) eller fra SEO-klokketårnet.
Angi nettstedsnavnet som tittelen på dokumentet på øverste nivå.
Det antas at navnet på nettstedet, selskapet eller innholdet i logoen kan brukes som hovedtittelen på dokumentet. Jeg personlig deler den ikke, da jeg mener at det er navnet på den gjeldende siden som er av grunnleggende betydning når man ser den.
Ikke bruk elementer i énartikkels dokumenter.
Men hva med hvis du fortsatt bruker seksjonselementer, men det er i enartikkeldokumenter at innholdet deres ikke er innelukket i elementrammen , som vil føre til at titlene på selve publikasjonene samtidig representerer rotelementet til dokumentet ... Noe sånt:
1. Artikkeltittel 1. Hovednavigasjon 2. Artikkel underoverskrift 1. Artikkel under underoverskrift 3. Sidepaneloverskrift 1. Sidefelts underoverskrift 4. Bunntekstoverskrift
Det er allerede en viss forbedring her. Det eneste problemet er at rekkefølgen som punktene i dokumentstrukturen presenteres i, ikke stemmer overens med måten de vises i markeringen. Og dette kan bli et reelt problem for de brukerne som navigerer på siden, guidet av overskriftene, presentert i den rekkefølgen nettleseren plasserer dem i, og danner strukturen til dokumentet. Og jeg aner ikke om verktøy som skjermlesere faktisk vil gjøre dette hvis de begynner å støtte HTML5-spesifikasjonen. Derfor kan jeg ikke si at dette problemet vil være direkte relatert til spørsmålet. brukervennlighet.
En annen måte å løse dette problemet på er å bruke nettstedsnavnet som toppnivå.
dokument. Så i elementet du må gjøre følgende endringer:
1. Nettstedstittel osv. 1. Hovednavigasjon 2. Artikkeltittel 1. Artikkel underoverskrift 1. Artikkel under underoverskrift 2. Sidepaneloverskrift 1. Sidefelts underoverskrift 3. Bunntekstoverskrift
Etter min mening er dette det mest akseptable alternativet fra alle de forrige. Men jeg er fortsatt av den oppfatning at hvis strukturen til dokumentet ikke inkluderer navnet på nettstedet, gir det en klarere idé om innholdet på den gjeldende siden. Derfor, i min markering, holder jeg meg til alternativet som utelukker tilstedeværelsen av nettstedsnavnet som det viktigste.
overskriften til et dokument med én artikkel.
Jeg antar at du også er forvirret.
Mens jeg skrev denne artikkelen fikk jeg inntrykk av at HTML5-algoritmen for å danne strukturen til selve dokumentet opplever noen vanskeligheter hvis dokumentet inneholder seksjonselementer. Det kan ta litt tid å forstå dette problemet fullt ut, men allerede for øyeblikket er tilstedeværelsen av visse problemer åpenbar, i det minste i de tilfellene du trenger å utelukke tilstedeværelsen av navnløse seksjoner i strukturen til dokumentet.
Det er ganske mulig at jeg har misforstått eller oversett noen nyanser, i dette tilfellet vil jeg gjerne se dine kommentarer og rettelser.
En artikkel som forklarer det grunnleggende om å lage en dokumentstruktur i HTML 5.
Semantikk og dokumentstruktur i HTML 5
Dokumentstruktur spiller en svært viktig rolle for å forstå hvordan en nettside fungerer. Den definerer hvordan innholdet er organisert og relatert til hverandre i dokumentet, samt deres relative betydning. Hvis du bruker dokumentskjemaet, kan du se hvor enklere det er å se informasjon. En godt utformet struktur gir sideinnholdet mening, gjør det lettere å lese, noe som utføres av søkemotorer og andre brukeragenter. På et nettsted der strukturen er riktig utformet, er det lettere å navigere og finne informasjonen du trenger.
Før HTML 5 dokumentstruktur
Før du studerer prosessen med å lage en dokumentstruktur i HTML 5, er det lurt å sette seg inn i hvordan dette ble gjort i forrige versjon av språket og hvilke problemer en webutvikler måtte møte i dette tilfellet.
Hvordan dokumentstrukturen er dannet i HTML 4
Dokumentstruktur i HTML 4 lages ved hjelp av 6 elementer (h1, h2, h3, h4, h5, h6). Disse elementene, når de plasseres på en side, skaper implisitte deler. Disse delene kalles implisitt fordi forfatteren ikke eksplisitt oppretter dem i dokumentet. De genereres automatisk så snart brukeragenten møter et av disse elementene i dokumentet. Deretter dannes dokumentstrukturen fra alle seksjonene opprettet av brukeragenten.
Problemer i implementeringen av strukturen til dokumentet
Dokumentstrukturmodellen som brukes i HTML 4 har betydelige begrensninger, som er forbundet med det faktum at kun 6 elementer h1, h2, h3, h4, h5 og h6 er tilgjengelige for forfatteren for å lage den. Med disse elementene kan ikke en webutvikler designe en dokumentstruktur som samtidig gir et logisk forhold mellom seksjoner og oppfyller SEO-kriterier.
Du kan lære mer om prosessen med å lage en dokumentstruktur i HTML 4 og problemene med implementeringen i den neste artikkelen.
Opprette dokumentstrukturen i HTML 5
Strategien for å lage dokumentstruktur i HTML5 har endret seg betydelig. Nå er det ikke bare definert av overskrifter alene, siden dette har alltid sett litt latterlig ut for de fleste webutviklere. Overskrifter hjelper til med å definere strukturen til et dokument, men de grupperer ikke innhold. Før HTML 5 grupperte forfattere innhold ved hjelp av divs og brukte deretter klasseattributter eller id-attributter for å gi disse delene mer semantisk korrekt mening. Heldigvis introduserer HTML5 en ny gruppe seksjoneringselementer som lar forfattere lage en beskrivelse (struktur) av et dokument. Denne gruppen inkluderer artikkel-, side-, nav- og seksjonselementene. Hovedformålet deres er å gjøre HTML-koden mer semantisk, for å legge til mening til den ved hjelp av markup.
Elementer for å lage struktur i HTML 5.
HTML 5 bruker overskriftselementer (h1, h2, h3, h4, h5 og h6) og nav-, side-, seksjons- og artikkelelementene fra seksjoneringsgruppen for å lage dokumentstruktur. Disse elementene, i motsetning til overskrifter, er ment å lage eksplisitte seksjoner og gi disse seksjonene en viss mening.
Prosessen med å lage en dokumentstruktur i HTML5
For å gjøre det lettere å forstå de grunnleggende prinsippene for å strukturere et dokument, vil HTML 5 anta at brødtekst-, nav-, side-, seksjons- og artikkelelementene lager seksjoner (eksplisitte seksjoner), og h1, h2, h3, h4, h5 og h6-elementer lager vanlige seksjoner (implisitte seksjoner).
Vi vil vurdere prosessen med å utvikle strukturen til et dokument gjennom trinnvise instruksjoner.
I HTML 5 begynner å lage en dokumentstruktur med body-elementet. Dette elementet oppretter en hovedseksjon (seksjon på dokumentnivå).
-> Eksempelet ovenfor vil lage følgende dokumentstruktur: Uten navn
Etter det går de vanligvis videre til å lage seksjoner i kroppen (hovedseksjon). La oss for eksempel lage nav-, seksjons- og sideseksjoner. Disse delene vil være barn av kroppen.
--> Uten tittel Uten tittel Uten tittel Uten tittel
Hver av seksjonene (nav, til side, seksjon, artikkel) kan på sin side også inneholde seksjoner. Således, i HTML 5, er strukturen til dokumentet oppnådd. De. noen seksjoner er nestet i andre. Seksjonene som er plassert direkte i kroppen har et 2. nivå. Og seksjonene som ligger direkte i seksjonene på 2. nivå vil allerede ha 3. nivå osv.
La oss for eksempel lage artikkelseksjonene i seksjon 3.
-> Eksempelet ovenfor vil lage følgende dokumentstruktur: Untitled Uten tittel Uten tittel Uten tittel Uten tittel Uten tittel Uten tittel
Elementene h1, h2, h3, h4, h5 og h6 i HTML5 brukes til å spesifisere en seksjonstittel (dvs. fungere som en seksjonsoverskrift) og for å lage implisitte seksjoner i en seksjon. Dessuten utføres forholdet mellom implisitte seksjoner kun innenfor en seksjon. De. overskriftselementer i en seksjon er ikke knyttet til overskriftselementer i en annen seksjon. Med andre ord, implisitte seksjoner i en seksjon er isolert fra implisitte seksjoner i en annen seksjon. Seksjonsoverskriften er overskriftselementet som er plassert i denne seksjonen og har høyest rangering (nivå). Hvis en seksjon ikke inneholder et overskriftselement, har den ikke noe navn (Uten tittel).
Merk: I HTML 4, i motsetning til HTML 5, ble forholdet mellom implisitte seksjoner utført i hele dokumentet, og ikke innenfor seksjonen (brødtekst, nav, til side, seksjon, artikkel). Det er ingen elementer for å lage seksjoner i HTML 4.
La oss for eksempel lage titler for alle seksjoner unntatt nav.
EN
B
C
D
E
-> Eksempelet ovenfor vil lage følgende dokumentstruktur: A Uten tittel B C D E F
La oss for eksempel lage implisitte seksjoner i seksjonen og sidedelene:
EN
B
C
D
E
B-R1
B-R2
B-R3
-> Eksempelet ovenfor vil lage følgende dokumentstruktur: A Uten tittel B C D E B-R1 B-R2 B-R3 F F-R1 F-R2 F-R3 F-R4 F-R5