Semantisk struktur for HTML5-side. Semantikk i HTML5. HTML-dokumenter. Grunnleggende HTML5

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 <title> , <TITLE> , <Title> , <TiTlE>osv. og det vil fungere fint. Beste praksis er imidlertid å forminske alle tagger for konsistens, lesbarhet og andre grunner.</p> <h2>Struktur av HTML-elementer</h2> <p>La oss se nærmere på avsnittselementet:</p> <p>Hoveddelene av elementet er:</p> <ol><li><b>Åpningsetikett:</b> Den består av navnet (betegnelsen) på elementet (i vårt tilfelle, p), plassert inne <b>vinkelbeslag</b>... Denne taggen fungerer som et tegn på begynnelsen av et element, fra dette øyeblikket begynner taggen å påvirke innholdet etter det.</li> <li><b>Avsluttende tag:</b> 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.</li> <li><b>Innhold:</b> Som du kan se, i vårt tilfelle er innholdet ren tekst.</li> <li><b>Element:</b> starttag + slutttag + innhold = element.</li> </ol><h3>Aktiv læring: Lag ditt første HTML-element</h3> <p>Rediger tekstlinjen nedenfor i boksen <i>Inndata</i> ved å pakke den inn i tagger <em>og</em>(sett inn <em>før køen til <i>spesifiser start av element</i>, og</em> etter henne til <i>spesifiser slutten av elementet</i>) - disse handlingene bør gjøre en tekstlinje kursiv! Du kan se endringer i sanntid i felten <i>Produksjon</i>.</p> <p> <i>Nullstille</i> <i>Vis løsning</i> for å se det riktige svaret.</p> <h6>Spillbar kode</h6> <h2>Resultat</h2> <div class="output" style="min-height: 50px;"> </div> <h2>Redigerbar kode</h2> <p class="a11y-label"></p> <textarea id="code" class="playable-code" style="min-height: 100px;width: 95%">Dette er min tekst.</textarea> <div class="controls"> <input id="reset" type="button" value="Nullstille" /> <input id="solution" type="button" value="Vis løsning" /> </div> 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 = "!} <em>Dette er min tekst.</em><h3>Nestede elementer</h3> <h3>Nesting_elements</h3> <p>Du kan også neste elementer inne i andre elementer - dette kalles <b>hekking</b>... 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. "> <strong>, som betyr at dette ordet er ekstremt viktig i denne sammenhengen:</p><p> <p>Katten min <strong>veldig</strong> sint.</p> </p><p>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:</p><p> <p>Katten min <strong>veldig sint.</p></strong> </p><p>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!</p> <h3>Blokker og innebygde elementer</h3> <h3>Blokker versus innebygde elementer</h3> <p>Det er to viktige kategorier av elementer i HTML som du bør være oppmerksom på - blokknivåelementer og innebygde elementer.</p> <ul><li>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 ...</li> <li>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. "> <a>(lenke) eller aksenter som <em>eller) indikerer at innholdet er av stor betydning, alvor eller haster. Nettlesere viser vanligvis innhold med fet skrift. "> <strong> .</li> </ul><p>Ta en titt på følgende eksempel:</p><p> <em>Først</em><em>sekund</em><em>tredje</em> <p>fjerde</p><p>sjette</p> </p><p> <em>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. "> <p>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).</p> <p><b>Merk</b>: 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.</p> <p><b>Merk</b>: 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.</p> <h3>Tomme elementer</h3> <h3>Tomme elementer</h3> <p>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. "> <img>setter inn et bilde på siden akkurat der det er plassert:</p><p> <img src='https://i1.wp.com/raw.githubusercontent.com/mdn/beginner-html-site/gh-pages/images/firefox-icon.png' loading=lazy loading=lazy> </p><p>Dette vil sende ut følgende til siden din:</p> <p><b>Merk</b>: Tomme gjenstander kalles noen ganger <i>tomme elementer</i>.</p> <h2>Egenskaper</h2> <p>Elementer kan også ha attributter som ser slik ut:</p> <p>Src = "https://mdn.mozillademos.org/files/9345/grumpy-cat-attribute-small.png" style = "skjerm: blokk; høyde: 156px; margin: 0px auto; bredde: 1287px;" /></p> <p>Attributtet må ha:</p> <ol><li>Et mellomrom mellom attributtet og elementets navn (eller det forrige attributtet hvis elementet allerede har ett eller flere attributter).</li> <li>Navnet på attributtet etterfulgt av et likhetstegn.</li> <li>Verdien av attributtet, omgitt av anførselstegn.</li> </ol><h3>Aktiv læring: Legge til attributter til et element</h3> <h3>Aktiv læring: Legge til attributter til et element</h3> <p>Ta for eksempel et element som definerer 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. "> <a>- står for anker og gjør teksten i den til en hyperkobling. Den kan ha flere attributter, her er to av dem:</p> <ul><li>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/".</li> <li>title: title-attributtet beskriver tilleggsinformasjon om lenken, for eksempel: hvilken side den fører til. For eksempel, title = "(! LANG: Mozilla-hjemmesiden" . Она появится в виде всплывающей подсказки, когда вы наведете курсор на ссылку.!}</li> <li>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.</li> </ul><p>Endre tekstlinjen nedenfor i boksen <i>Inndata</i> slik at den fører til favorittnettstedet ditt. Legg først til elementet <a>deretter href-attributtet og title-attributtet. Til slutt, spesifiser målattributtet for å åpne koblingen i en ny fane. Du kan se endringene som er gjort i sanntid i felten <i>Produksjon</i>... Du bør se en hyperkobling som viser innholdet i tittelattributtet når du holder musepekeren over det, og når du klikker på det, navigerer du til adressen i href-attributtet. Husk at det må være et mellomrom mellom elementnavnet og hver av attributtene.</p> <p>Hvis du tar feil, kan du alltid starte på nytt ved å bruke knappen <i>Nullstille</i>... Hvis øvelsen gir deg problemer, trykk på knappen <i>Vis løsning</i> for å se det riktige svaret.</p> <h6>Spillbar kode2</h6> <h2>Resultat</h2> <div class="output" style="min-height: 50px;"> </div> <h2>Redigerbar kode</h2> <p class="a11y-label">Trykk Esc for å gå ut av kodeområdet (Tab setter inn et tabulatortegn).</p> <textarea id="code" class="input" style="min-height: 100px;width: 95%"> <p>En lenke til min favorittside.</p> </textarea> <div class="playable-buttons"> <input id="reset" type="button" value="Nullstille"> <input id="solution" type="button" value="Vis løsning"> </div> 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 = "!} <p>En lenke til min favorittside.</p>"; 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(); }; !} <h3>Boolske attributter</h3> <h3>Boolske attributter</h3> <p>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.</p><p> <input type="text" disabled="disabled"> </p><p>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):</p><p> <input type="text" disabled> <input type="text"> </p><p>I utdataene vil begge alternativene se slik ut:</p> <h3>Utelatelse av anførselstegn rundt attributtverdier</h3> <h3>Utelatelse av anførselstegn rundt attributtverdier</h3> <p>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:</p><p>favorittnettstedet</p><p>Men når vi legger til tittelattributtet i samme stil, gjør vi det feil:</p><p>favorittnettstedet</p><p>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!</p> <p>Vårt råd: bruk alltid anførselstegn i attributter - dette vil unngå slike problemer, og derfor vil koden være mer lesbar.</p> <h3>Enkelte eller doble anførselstegn?</h3> <h3>Enkelte eller doble anførselstegn?</h3> <p>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:</p><p>En lenke til mitt eksempel. En lenke til mitt eksempel.</p><p>Du må imidlertid passe på å ikke blande dem sammen. Følgende vil være feil!</p><p>En lenke til mitt eksempel.</p><p>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:</p><p>En lenke til mitt eksempel.</p><p>Hvis du vil sette inn anførselstegn av samme type, må du bruke HTML-enheter. Dette vil for eksempel ikke fungere:</p><p>En lenke til mitt eksempel.</p><p>Derfor må du gjøre dette:</p><p>En lenke til mitt eksempel.</p><h2>HTML-dokumentstruktur</h2> <p>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:</p><p> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Min testside

Dette er siden min



Her er hva vi har:

  1. : 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.
  2. : 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".
  3. : 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.
  4. : 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.
  5. : 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.</li> <li><body><script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body>: Element <body>."> <body>... Han inneholder <i>hele</i> innhold du vil vise besøkende på siden din – tekst, bilder, videoer, spill, spillbare lydspor eller noe annet.</li> </ol><h3>Aktiv læring: Legge til elementer i HTML-dokumentet ditt.</h3> <h3>Aktiv læring: Legge til noen funksjoner i et HTML-dokument</h3> <p>Hvis du vil eksperimentere med å skrive HTML på datamaskinen din, kan du:</p> <ol><li>Kopier HTML-eksemplet ovenfor.</li> <li>Opprett en ny fil i et tekstredigeringsprogram.</li> <li>Lim inn koden i den nye tekstfilen.</li> <li>Lagre filen som index.html.</li> </ol><p>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:</p> <p><img src='https://i0.wp.com/mdn.mozillademos.org/files/12279/template-screenshot.png' width="100%" loading=lazy loading=lazy>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 <body>."> <body>... Prøv følgende:</p> <ul><li>Legg til sidetittelen umiddelbart etter at åpningstaggen representerer innholdet (innholdet) i HTML-dokumentet. Det kan bare være ett element i et dokument <body>."> <body>... Teksten må være mellom åpningstaggen <h1>og lukking</h1> .</li> <li>Skriv i avsnittet om alt du synes er interessant.</li> <li>Fremhev viktige ord ved å pakke dem inn i en åpningstagg <strong>og lukking</strong></li> <li>Legg til en lenke til avsnittet ditt som forklart tidligere i artikkelen.</li> <li>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!</li> </ul><p>Hvis du blir forvirret, kan du alltid starte eksemplet fra begynnelsen med knappen <i>Nullstille</i>... Gi opp – se svaret ved å klikke videre <i>Vis løsning</i>.</p> <h6>Spillbar kode3</h6> <h2>Live utgang</h2> <div class="output" style="min-height: 50px;"> </div> <h2>Redigerbar kode</h2> <p class="a11y-label">Trykk Esc for å flytte fokus bort fra kodeområdet (Tab setter inn et tabulatortegn).</p> <textarea id="code" class="input" style="min-height: 100px;width: 95%"> <p>Dette er siden min</p> </textarea> <div class="playable-buttons"> <input id="reset" type="button" value="Nullstille"> <input id="solution" type="button" value="Vis løsning"> </div> 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 = "!} <p>jeg liker virkelig <strong>spille trommer</strong>... En av mine favoritttrommeslagere er Neal Peart, som \ spiller i bandet Rush. \ Mitt favoritt Rush-album er for tiden Moving Pictures.</p>\ <img src='https://i1.wp.com/cygnus-x1.net/links/rush/images/albums/sectors/sector2-movingpictures-cover-s.jpg' loading=lazy loading=lazy>"; 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(); }; !} <h3>Mellomrom i HTML</h3> <h3>Mellomrom i HTML</h3> <p>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:</p><p> <p>Hunder er dumme.</p> <p>Hunder er dumme.</p> </p><p>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.</p> <h2>Entitetsreferanser: Inkludert spesialtegn i HTML</h2> <h2>Entitetsreferanser: Inkludert spesialtegn i HTML</h2> <p>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?</p> <p>I følgende eksempel ser du to avsnitt som snakker om nettteknologi:</p><p> <p><p>I HTML definerer du et avsnitt ved å bruke</p><p>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 <p>Er begynnelsen på et nytt avsnitt! Det andre avsnittet i koden vår vises riktig fordi vi erstattet vinkelparentesene med mnemoniske referanser.</p> <h2>HTML-kommentarer</h2> <h2>HTML-kommentarer</h2> <p>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.</p> <p>For å gjøre en del av innholdet i en HTML-fil til en kommentar, må du sette den i spesielle markører<!-- и -->, for eksempel:</p><p> <p>Jeg er ikke inne i en kommentar</p> <!-- --> </p><p>Som du vil se nedenfor, vil det første avsnittet vises på skjermen, mens det andre ikke vil vises.</p> <h2>Oppsummering</h2> <p>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!</p> <p><b>Merk</b>: 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.</p> <p>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.</p><h2>Generell korrekt struktur av et HTML-dokument</h2><p>Først av alt, uten lange forord - den generelle strukturen til ethvert HTML-dokument bør være som følger:</p> <!DOCTYPE html>/ * Indikerer typen av gjeldende DTD * / <html>/ * Viser begynnelsen av dokumentet * / <head>/ * Viser begynnelsen av tittelen (overskrift) * / <title>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 h1h6 har en underordnet avhengighet, er det lavere nivået av denne underordningen paragraf.

    Det er viktig å merke seg at å bryte den underordnede tag-avhengigheten h1h6s 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;</p><p><body>Dette elementet inneholder det synlige innholdet på siden;</p><p><h1>Element definerer en stor overskrift</p><p><p>Elementet definerer et avsnitt.</p><p>Arbeid i html5 h2 - h6-tagger</p><p><i>Alle tagger er doble. Start-taggen kalles start-taggen, og slutt-taggen kalles slutt-taggen.</i></p><h2>HTML-oppmerking på et WordPress-nettsted</h2><p>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 <b>Tjuesytten</b>:</p><p> <?php ?><!DOCTYPE html> <html <?php language_attributes(); ?>class = "no-js no-svg"> <head> <meta charset="<?php bloginfo("charset"); ?>"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="http://gmpg.org/xfn/11"> <?php wp_head(); ?> </head> <body <?php body_class(); ?>> <div id="page" class="site"> <?php _e("Skip to content", "twentyseventeen"); ?> <header id="masthead" class="site-header" role="banner"> <?php get_template_part("template-parts/header/header", "image"); ?> <?php if (has_nav_menu("top")) : ?> <div class="navigation-top"> <div class="wrap"> <?php get_template_part("template-parts/navigation/navigation", "top"); ?> </div><!-- .wrap --> </div><!-- .navigation-top --> <?php endif; ?> </header><!-- #masthead --> <?php if ((is_single() || (is_page() && ! twentyseventeen_is_frontpage())) && has_post_thumbnail(get_queried_object_id())) : echo "<div class="single-featured-image-header">"; echo get_the_post_thumbnail (get_queried_object_id ()," twentyseventeen-featured-image "); echo"</div><!-- .single-featured-image-header -->"; endif;?> <div class="site-content-contain"> <div id="content" class="site-content"> </p><p>Du kan se det hvis all WordPress-funksjonalitet er vert i klassisk HTML-oppmerking. Det er en dokumenttype:<!DOCTYPE html></p><p>Sammenkoblede tagger,</p><p>Åpningsbrikke.</p><p>Den avsluttende taggen finner du i footer.php-filen.</p><h2>Slik viser du HTML-koden til en side på et WordPress-nettsted</h2><p>Det du skriver i nettstedsredigereren, lager artikler eller sider, er bare en del av HTML-siden til nettstedet. Det er ikke engang hele siden.</p><p>For å se HTML-koden til en side på et WordPress-nettsted, som ofte er nødvendig, trenger du:</p><p>Åpne siden i en nettleser;</p><p>Bytt til engelsk tastaturskrift;</p><p>Trykk på følgende knapper:</p><ul><li>Chrome: Ctrl + U</li><li>Opera: Ctrl + U</li><li>Mozilla: Ctrl + U</li> </ul><p>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.</p><h2>Produksjon</h2><p>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.</p> <p>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 <b>Html</b>, la oss analysere <b>HTML-dokumentstruktur</b> og på praktiske eksempler vil vi konsolidere den ervervede kunnskapen.</p> <h2>Hva er HTML?</h2> <p><b>Html</b> 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.</p> <p>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 <b>.html</b> eller <b>.htm</b> og behandles av nettlesere - IE, Mozilla Firefox, Google Chrome, Yandex Chrome, Opera, etc.</p> <p>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.</p> <h2>HTML-dokumentstruktur</h2> <p>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:</p> <blockquote> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" <html> <head> <title>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.





    Bunntekstoverskrift


    Bunntekstinnhold.





    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 identifisert som den viktigste på siden? Og hvorfor avsnitt