HTML (HyperText Markup Language) este limbajul standard fundamental al web-ului. El nu este un limbaj de programare în sens clasic (nu execută calcule sau logică condițională), ci un limbaj de marcare care oferă scheletul, semantica și semnificația logică a conținutului din orice pagină web: titluri, paragrafe, imagini, formulare interactive, tabele și legături hipertext.
Browserul web citește fișierul HTML linie cu linie și construiește DOM (Document Object Model) — arborele de obiecte pe care stilurile CSS îl colorează și îl aranjează în spațiu, iar codul JavaScript îl transformă într-o experiență dinamică și interactivă.
Orice pagină web modernă din anul 2026 ar trebui să pornească de la această structură curată, optimizată pentru dispozitive mobile, performanță și indexare SEO:
<!DOCTYPE html>
<html lang="ro">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Ghid complet HTML5 pentru dezvoltatori web moderni.">
<meta name="theme-color" content="#3858e9">
<title>Titlul Paginii Tale | dexblog.ro</title>
<!-- Favicon modern vectorial (SVG) cu fallback ICO -->
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="alternate icon" href="/favicon.ico">
<!-- Fișier CSS extern & pre-conectare fonturi -->
<link rel="stylesheet" href="style.css">
<!-- Scripturi externe încărcate asincron fără blocarea randării -->
<script src="app.js" defer></script>
</head>
<body>
<!-- Conținutul vizibil al paginii se construiește exclusiv în interiorul body -->
<header>
<h1>Titlu Principal al Paginării</h1>
</header>
<main>
<p>Primul paragraf de conținut semantic.</p>
</main>
</body>
</html>
Arhitectura Semantică a unei Pagini Web
Înainte de HTML5, paginile web erau construite aproape exclusiv din div-uri generice (o practică numită colocvial „div soup”: <div id="header">, <div class="nav">, <div class="footer">). Standardul HTML5 a introdus elementele semantice, care descriu explicit browserului, motoarelor de căutare (Google, Bing) și cititoarelor de ecran (Screen Readers pentru persoane cu deficiențe) ce reprezintă fiecare zonă:
| Element Semantic | Rol & Semnificație | Unde se plasează în pagină |
|---|---|---|
<header> |
Zona introductivă a paginii sau a unui articol (siglă, titlu, autor, dată). | La începutul documentului sau în interiorul unui <article>. |
<nav> |
Secțiune dedicată legăturilor majore de navigare în site. | Meniul principal de sus, meniul din subsol sau bara de categorii. |
<main> |
Conținutul central, dominant și unic al documentului (fără meniuri sau copyright). | O singură instanță per pagină, între <header> și <footer>. |
<article> |
O unitate autonomă de conținut care poate fi distribuită independent (articol, postare, comentariu). | În interiorul lui <main>. |
<section> |
O grupare tematică de conținut dintr-o pagină, de regulă însoțită de un subtitlu propriu. | Pentru capitole, tab-uri sau blocuri logice de informații. |
<aside> |
Conținut colateral legat tangențial de conținutul principal (sidebar, casete cu sfaturi, reclame). | Pe bara laterală sau în casete informative inserate în articol. |
<footer> |
Subsolul documentului sau al unei secțiuni (autor, copyright, linkuri legale, contact). | La finalul paginii sau la sfârșitul unui articol. |
Elemente Block vs. Elemente Inline vs. Inline-Block
Browserul tratează fiecare element HTML conform unui model de afișare implicit (Display Behavior):
- Elemente de tip Block (ex:
<div>,<p>,<h1>-<h6>,<section>,<ul>): Încep întotdeauna pe o linie nouă și se întind automat pe toată lățimea disponibilă (100% din părinte). Respectă toate proprietățile Box Model (width,height,margin-top/bottom,padding). - Elemente de tip Inline (ex:
<span>,<a>,<strong>,<em>,<code>): Nu încep pe o linie nouă, ci curg natural în interiorul textului, ocupând doar lățimea necesară conținutului. Nu respectăwidth,heightșimargin-top/bottom. - Regulă de aur de nesting (încapsulare): În HTML5, elementele inline nu pot conține elemente de tip block (cu o excepție esențială: tagul
<a>poate încapsula un card întreg format din titlu și paragraf pentru a crea o zonă clicabilă unitară). De asemenea, un paragraf<p>nu poate conține niciodată un<div>sau o listă<ul>.
Bune Practici Core Web Vitals & Performanță în HTML
- Elimină deplasările vizuale (CLS – Cumulative Layout Shift): Specifică întotdeauna atributele
widthșiheightpe toate elementele<img>și<video>, pentru a permite browserului să rezerve spațiul exact înainte de descărcarea fișierului. - Optimizarea vitezei de încărcare (LCP – Largest Contentful Paint): Folosește
loading="lazy"pe toate imaginile situate mai jos în pagină (below-the-fold) șifetchpriority="high"pe imaginea principală de hero. - Nu bloca firul de randare: Scripturile JavaScript plasate în antet trebuie să aibă întotdeauna atributul
defer(se execută în ordine după parsarea DOM-ului) sauasync(pentru scripturi independente de analiză trafic).
Mai jos găsești catalogul complet de taguri și elemente HTML5 grupate pe categorii. Apasă pe oricare dintre ele pentru sintaxă, atribute acceptate, exemple practice de cod și capcane frecvente.