Elemente Semantice HTML
Elementele semantice sunt elemente cu un sens (o semnificație).
Ce Sunt Elementele Semantice?
Un element semantic descrie clar semnificația sa atât pentru browser, cât și pentru dezvoltator. Elementele nesemantice precum <div> și <span> nu spun nimic despre conținutul lor, în timp ce elementele semantice precum <img>, <table> și <article> definesc clar conținutul lor.
Elemente Semantice în HTML
Multe site-uri folosesc marcaj generic, precum un div, pentru navigare, antet și subsol. HTML are în schimb elemente semantice pentru aceste părți: <article>, <aside>, <details>, <figcaption>, <figure>, <footer>, <header>, <main>, <mark>, <nav>, <section>, <summary> și <time>.
Elementul HTML <section>
Elementul <section> definește o secțiune într-un document. Bootstrap descrie o secțiune ca o grupare tematică de conținut, de obicei cu un titlu, precum capitole, o introducere, știri sau informații de contact.
Exemplu
Două secțiuni într-un document.
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html lang="ro">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Elementul Section</title>
</head>
<body>
<section>
<h1>WWF</h1>
<p>Fondul Mondial pentru Natură (WWF) este o organizație internațională care lucrează pe probleme legate de conservarea, cercetarea și restaurarea mediului, numită anterior World Wildlife Fund. WWF a fost fondat în 1961.</p>
</section>
<section>
<h1>Simbolul Panda al WWF</h1>
<p>Panda a devenit simbolul WWF. Cunoscutul logo cu panda al WWF a provenit de la o panda pe nume Chi Chi, transferată de la grădina zoologică din Beijing la cea din Londra în același an în care a fost înființat WWF.</p>
</section>
</body>
</html>
Elementul HTML <article>
Elementul <article> conține conținut independent și de sine stătător, care ar trebui să aibă sens și separat și ar putea fi distribuit independent, precum postări de forum, postări de blog, comentarii ale utilizatorilor, carduri de produse sau articole de ziar.
Trei articole
Trei articole de sine stătătoare despre browsere.
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html lang="ro">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Elementul Article</title>
</head>
<body>
<article>
<h2>Google Chrome</h2>
<p>Google Chrome este un browser web dezvoltat de Google, lansat în 2008. Chrome este astăzi cel mai popular browser web din lume!</p>
</article>
<article>
<h2>Mozilla Firefox</h2>
<p>Mozilla Firefox este un browser web open-source dezvoltat de Mozilla. Firefox a fost al doilea cel mai popular browser web din ianuarie 2018.</p>
</article>
<article>
<h2>Microsoft Edge</h2>
<p>Microsoft Edge este un browser web dezvoltat de Microsoft, lansat în 2015. Microsoft Edge l-a înlocuit pe Internet Explorer.</p>
</article>
</body>
</html>
Stilizat cu CSS
Articole imbricate stilizate cu CSS.
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
.all-browsers {
margin: 0;
padding: 5px;
background-color: lightgray;
}
.all-browsers > h1, .browser {
margin: 10px;
padding: 5px;
}
.browser {
background: white;
}
.browser > h2, p {
margin: 4px;
font-size: 90%;
}
</style>
</head>
<body>
<article class="all-browsers">
<h1>Cele mai populare browsere</h1>
<article class="browser">
<h2>Google Chrome</h2>
<p>Google Chrome este un browser web dezvoltat de Google, lansat în 2008. Chrome este astăzi cel mai popular browser web din lume!</p>
</article>
<article class="browser">
<h2>Mozilla Firefox</h2>
<p>Mozilla Firefox este un browser web open-source dezvoltat de Mozilla. Firefox a fost al doilea cel mai popular browser web din ianuarie 2018.</p>
</article>
<article class="browser">
<h2>Microsoft Edge</h2>
<p>Microsoft Edge este un browser web dezvoltat de Microsoft, lansat în 2015. Microsoft Edge l-a înlocuit pe Internet Explorer.</p>
</article>
</article>
</body>
</html>
Imbricarea <article> în <section> sau Invers?
Elementul <article> conține conținut independent și de sine stătător, iar elementul <section> definește o secțiune. Îți pot spune definițiile cum să le imbrici? Nu. Vei găsi pagini cu elemente <section> ce conțin elemente <article>, precum și invers.
Elementul HTML <header>
Elementul <header> este un container pentru conținut introductiv sau un set de linkuri de navigare. De obicei conține unul sau mai multe titluri, un logo sau o pictogramă și informații despre autor.
Notă: Poți avea mai multe elemente <header> într-un singur document, dar un <header> nu poate fi plasat în interiorul unui <footer>, <address> sau al altui <header>.
Exemplu
Un antet în interiorul unui articol.
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html lang="ro">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Elementul Header</title>
</head>
<body>
<article>
<header>
<h1>Ce face WWF?</h1>
<p>Misiunea WWF:</p>
</header>
<p>Misiunea WWF este de a opri degradarea mediului natural al planetei noastre și de a construi un viitor în care oamenii trăiesc în armonie cu natura.</p>
</article>
</body>
</html>
Elementul HTML <footer>
Elementul <footer> definește un subsol pentru un document sau o secțiune. De obicei conține informații despre autor, drepturi de autor și contact, o hartă a site-ului, linkuri de „înapoi sus” sau documente înrudite. Poți avea mai multe elemente <footer> într-un singur document.
Exemplu
Un subsol cu informații despre autor și contact.
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html lang="ro">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Elementul Footer</title>
</head>
<body>
<footer>
<p>Autor: Hege Refsnes</p>
<p><a href="mailto:hege@example.com">hege@example.com</a></p>
</footer>
</body>
</html>
Elementul HTML <nav>
Elementul <nav> definește un set de linkuri de navigare. Nu orice link aparține unui <nav>; acesta este destinat doar blocurilor majore de navigare. Cititoarele de ecran îl pot folosi pentru a decide dacă sar peste acest conținut la prima trecere.
Exemplu
Un set de linkuri de navigare.
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html lang="ro">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Elementul Nav</title>
</head>
<body>
<nav>
<a href="/html/">HTML</a> |
<a href="/css/">CSS</a> |
<a href="/js/">JavaScript</a> |
<a href="/jquery/">jQuery</a>
</nav>
</body>
</html>
Elementul HTML <aside>
Elementul <aside> conține conținut separat de conținutul din jurul lui, precum o bară laterală. Ar trebui să fie legat doar indirect de conținutul înconjurător.
Aside simplu
Un aside lângă un paragraf.
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html lang="ro">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Elementul Aside</title>
</head>
<body>
<p>Familia mea și cu mine am vizitat centrul Epcot vara aceasta. Vremea a fost frumoasă, iar Epcot a fost minunat! Am avut o vară grozavă alături de familia mea!</p>
<aside>
<h4>Centrul Epcot</h4>
<p>Epcot este un parc tematic la Walt Disney World Resort, cu atracții interesante, pavilioane internaționale, artificii premiate și evenimente speciale sezoniere.</p>
</aside>
</body>
</html>
Stilizat cu CSS
Un aside stilizat ca bară laterală plutitoare.
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
aside {
width: 30%;
padding-left: 15px;
margin-left: 15px;
float: right;
font-style: italic;
background-color: lightgray;
}
</style>
</head>
<body>
<p>Familia mea și cu mine am vizitat centrul Epcot vara aceasta. Vremea a fost frumoasă, iar Epcot a fost minunat! Am avut o vară grozavă alături de familia mea!</p>
<aside>
<p>Centrul Epcot este un parc tematic la Walt Disney World Resort, cu atracții interesante, pavilioane internaționale, artificii premiate și evenimente speciale sezoniere.</p>
</aside>
<p>Familia mea și cu mine am vizitat centrul Epcot vara aceasta. Vremea a fost frumoasă, iar Epcot a fost minunat! Am avut o vară grozavă alături de familia mea!</p>
<p>Familia mea și cu mine am vizitat centrul Epcot vara aceasta. Vremea a fost frumoasă, iar Epcot a fost minunat! Am avut o vară grozavă alături de familia mea!</p>
</body>
</html>
Elementele HTML <figure> și <figcaption>
Tag-ul <figure> conține conținut de sine stătător, precum ilustrații, diagrame, fotografii sau listări de cod. Tag-ul <figcaption> oferă o legendă pentru figură, plasată ca primul sau ultimul său copil, iar elementul <img> este imaginea propriu-zisă.
Exemplu
O imagine cu o legendă de figură.
Rezultat: pagină HTML completă
<!DOCTYPE html>
<html lang="ro">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Elementul Figure</title>
</head>
<body>
<figure>
<img src="pic_trulli.jpg" alt="Trulli">
<figcaption>Fig1. - Trulli, Puglia, Italia.</figcaption>
</figure>
</body>
</html>
De Ce Elemente Semantice?
Conform Bootstrap, un web semantic permite ca datele să fie partajate și reutilizate între aplicații, întreprinderi și comunități. Elementele semantice ajută la descrierea sensului conținutului, nu doar a aspectului său.
Elemente Semantice în HTML
Câteva elemente semantice și ce fac ele: <article> (conținut independent), <aside> (conținut separat de pagină), <details> (detalii pe care utilizatorul le poate afișa sau ascunde), <figcaption> (o legendă pentru o figură), <figure> (conținut de sine stătător, precum o fotografie), <footer> (un subsol), <header> (un antet), <main> (conținutul principal), <mark> (text evidențiat), <nav> (linkuri de navigare), <section> (o secțiune), <summary> (un titlu pentru details) și <time> (o dată sau o oră).