1. Ce este HTML si cum functioneaza
- HTML — structura si continut: ce este un titlu, un paragraf, o imagine, o legatura.
- CSS (Cascading Style Sheets) — aspect vizual: culori, fonturi, dimensiuni, layout.
- JavaScript — comportament interactiv: animatii, validare formulare, actualizare dinamica.
In aceasta lectie te concentrezi pe HTML — fundamentul fara de care CSS si JavaScript nu au unde sa se aplice.
Analogie din stiintele naturii: gandeste-te la o celula. HTML este membrana celulara si nucleul — structura de baza care defineste ce este celula. CSS este pigmentul si forma (cum arata). JavaScript este procesele metabolice (ce face). Fara structura de baza (HTML), nu exista celula.
Versiunea actuala: HTML5 (din 2014, standardizat de W3C si WHATWG) este versiunea moderna folosita azi. Aduce etichete semantice noi (<header>, <nav>, <main>, <footer>, <article>) care descriu mai precis rolul fiecarei zone a paginii.
2. Structura obligatorie a unui document HTML
<!DOCTYPE html>
<html lang="ro">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Titlul paginii mele</title>
</head>
<body>
<h1>Continut vizibil</h1>
<p>Acesta este un paragraf.</p>
</body>
</html>
<!DOCTYPE html>
Nu este o eticheta HTML, ci o declaratie care spune browserului ca documentul foloseste HTML5. Trebuie sa fie primul rand din fisier, inainte de orice altceva.
<html lang="ro">
Elementul radacina care inconjoara tot documentul. Atributul lang indica limba paginii — important pentru cititoarele de ecran si motoarele de cautare.
<head>
Contine metadate despre pagina: codificarea caracterelor (charset), titlul pentru browser/SEO, legaturi catre fisiere CSS si JavaScript. Continutul din <head> nu este vizibil in pagina.
<body>
Contine tot continutul vizibil al paginii: titluri, paragrafe, imagini, legaturi, formulare, tabele. Tot ce vede utilizatorul se afla in <body>.
<meta charset="UTF-8">
Declara codificarea caracterelor. UTF-8 suporta toate caracterele romanesti (a, i, s, t cu diacritice) si practic orice caracter din lume. Fara aceasta linie, diacriticele pot aparea incorect.
<title>
Textul care apare in tab-ul browserului, in bara de titlu si in rezultatele Google. Este diferit de <h1> care este titlul vizibil in pagina.
Eroare frecventa: confuzia dintre <title> (in <head>, invizibil in pagina, apare in tab) si <h1> (in <body>, vizibil pe pagina ca titlu principal). Un document HTML corect le are pe amandoua.
3. Etichete de baza: titluri, paragrafe, liste si legaturi
<h1>Titlu principal (cel mai important)</h1> <h2>Subtitlu de nivel 2</h2> <h3>Subtitlu de nivel 3</h3> <h4>Subtitlu de nivel 4</h4>
Regula: nu sari niveluri (ex: nu treci direct de la h1 la h4). Motoarele de cautare si cititoarele de ecran interpreteaza ierarhia titlurilor.
Lista neordonata <ul>
<ul> <li>Oxigen</li> <li>Azot</li> <li>Dioxid de carbon</li> </ul>
Marcatori (buline); ordinea nu conteaza. Exemplu: componente ale aerului.
Lista ordonata <ol>
<ol> <li>Incalzeste solutia</li> <li>Filtrare</li> <li>Evaporare</li> </ol>
Numerotare automata; ordinea este obligatorie. Exemplu: pasi protocol experimental.
<!-- Legatura (link) --> <a href="https://www.wikipedia.org">Viziteaza Wikipedia</a> <!-- Legatura catre o alta pagina din acelasi site --> <a href="pagina2.html">Pagina urmatoare</a> <!-- Imagine --> <img src="fotosinteza.jpg" alt="Schema fotosintezei" width="400">
Atribut alt obligatoriu la imagini: descrie imaginea pentru utilizatorii cu deficiente vizuale si apare daca imaginea nu se incarca. Lipsa atributului alt este o eroare de accesibilitate.
Block vs. Inline: etichetele block-level (<h1>–<h6>, <p>, <ul>, <ol>, <div>) incep pe un rand nou si ocupa toata latimea. Etichetele inline (<a>, <strong>, <em>, <img>, <span>) raman in fluxul textului, ocupa doar spatiul lor.
4. Atribute HTML: href, src, alt, id, class
nume="valoare". Un element poate avea mai multe atribute.
href — adresa legaturii
Folosit la <a> pentru a specifica destinatia link-ului. Poate fi o adresa web completa (https://...), o cale relativa (pagina2.html) sau o ancora (#sectiune).
<a href="https://ro.wikipedia.org">Wikipedia RO</a>
src — sursa fisierului
Folosit la <img> si <script> pentru a specifica calea catre fisierul extern (imagine, script JavaScript).
<img src="imagini/celula.png" alt="Celula animala">
alt — text alternativ
Obligatoriu la <img>. Descrie imaginea pentru cititoarele de ecran si este afisat cand imaginea nu se incarca. O imagine decorativa poate avea alt="" (alt gol).
id — identificator unic
Identifica un singur element din pagina. Valoarea trebuie sa fie unica in intregul document. Folosit pentru ancore (href="#id") si stilizare CSS/JavaScript precisa.
<h2 id="sectiunea-chimie">Chimie</h2>
class — clasa CSS
Permite gruparea mai multor elemente sub un nume comun pentru stilizare CSS. Un element poate avea mai multe clase separate prin spatiu. Acelasi class poate fi folosit pe mai multe elemente.
<p class="important highlight">Text important</p>
lang — limba continutului
Folosit pe <html> pentru a declara limba paginii (lang="ro" pentru romana). Ajuta motoarele de cautare si cititoarele de ecran sa pronunte corect textul.
id vs class: id este unic (un singur element cu acel id pe pagina); class poate fi repetat (multe elemente cu aceeasi clasa). Confundarea lor duce la comportament impredictibil in CSS si JavaScript.
5. Vizualizarea si verificarea paginilor HTML in browser
- Ctrl+U (sau clic dreapta → Vizualizare sursa pagina) — afiseaza intregul cod HTML al paginii intr-o fereastra noua. Util pentru a invata din paginile altora sau pentru a verifica ce a generat serverul.
- F12 (Instrumente pentru dezvoltatori / DevTools) — panoul complet: tabul Elements afiseaza ierarhia HTML live (modificabila in browser, fara sa afecteze fisierul original), tabul Console afiseaza erorile JavaScript.
- Scrie codul — in editor text (Notepad++, VS Code, Sublime Text)
- Salveaza — fisier cu extensia .html, codificare UTF-8
- Deschide in browser — dublu-clic pe fisier sau trageaza-l in fereastra browserului
- Verifica afisarea — compara cu ce ai asteptat sa apara
- Corecteaza in editor — modifica codul daca ceva nu arata corect
- Reincarca browserul — F5 pentru a vedea modificarile
Validare HTML online
W3C Markup Validation Service (validator.w3.org) verifica daca documentul tau HTML respecta standardele. Introduce adresa URL sau codul direct si iti arata erorile si avertismentele.
Erori frecvente de depistat
- Etichete deschise fara eticheta de inchidere
- Ghilimele lipsa la valoarea atributelor
- Imagini fara atribut alt
- Fisiere .html salvate de fapt ca .txt (extensie gresita)
Editoare recomandate cu evidentiere sintaxa: VS Code (gratuit, Microsoft) evidentiaza HTML/CSS/JS cu culori diferite, completeaza automat etichetele si arata erorile in timp real. Notepad++ este o alternativa usoara, la fel gratuita, excelenta pentru inceput.
6. Recapitulare — de la text brut la pagina web functionala
✘ Pagina HTML cu probleme
- Lipseste <!DOCTYPE html>
- Imagini fara atribut alt
- Titluri sarite: direct de la h1 la h4
- id folosit pe mai multe elemente (duplicat)
- Fisier salvat ca .txt in loc de .html
- Lipseste <meta charset="UTF-8">: diacritice incorecte
✔ Pagina HTML corecta
- <!DOCTYPE html> pe primul rand
- Fiecare <img> are atribut alt descriptiv
- Ierarhie titluri respectata: h1 → h2 → h3
- id unic per element; class pentru grupuri
- Fisier salvat cu extensia .html, codificare UTF-8
- <meta charset="UTF-8"> in <head>: diacritice corecte
Legatura cu urmatoarele lectii: in Lectia 2 vei invata CSS — cum adaugi culori, fonturi, dimensiuni si layout paginii tale HTML. Structura HTML pe care ai invatat-o azi devine scheletul pe care CSS aplica stilul vizual.
Resursa recomandata: MDN Web Docs (developer.mozilla.org/ro) este referinta oficiala pentru HTML, CSS si JavaScript, disponibila si in limba romana. Orice eticheta sau atribut pe care nu il cunosti il poti cauta acolo cu exemple detaliate.