Pagina de start — radacina ierarhiei unui sit
index.html (Acasa) — pagina de start, radacina ierarhiei
├── despre.html — Despre atelier
├── produse.html — Produse (mobilier din lemn masiv)
├── galerie.html — Galerie foto cu lucrari
└── contact.html — Date de contact si formular
Cele 4 pagini "atarna" de pagina de start prin linkurile din meniul de navigare, si sunt legate si intre ele — de exemplu, din pagina de produse poti ajunge direct la galerie, fara sa treci obligatoriu prin pagina de start.
Desenul cu ├── si └── arata doar cine leaga catre cine (o harta a legaturilor, ca un plan de metrou), nu unde stau fisierele pe calculator. Pe disc, toate cele 5 fisiere HTML stau, de fapt, plat, la acelasi nivel, in acelasi folder — vezi scheletul real de fisiere si foldere in atomul urmator.
Poti tehnic sa numesti pagina de start oricum, dar atunci vizitatorul trebuie sa scrie numele complet in bara de adrese (ex. www.atelierultau.ro/acasa.html) ca sa ajunga la ea. Cu numele index.html, adresa scurta www.atelierultau.ro functioneaza singura, fara nimic dupa — asta e conventia pe care o respecta aproape toate serverele.
Scheletul de fisiere si foldere pe disc
atelier-lemn/
index.html
despre.html
produse.html
galerie.html
contact.html
css/
stil.css
imagini/
logo.png
produs-masa.jpg
produs-scaun.jpg
Un link intre doua pagini care stau la acelasi nivel devine foarte scurt: doar numele fisierului tinta (ex. href="produse.html"). Iar cand vrei sa gasesti toate fotografiile sitului, stii dintr-o privire ca sunt in imagini/, nu risipite printre fisierele HTML.
Harta cu ├── din atomul anterior arata legaturile logice dintre pagini (cine trimite spre cine, in meniu). Scheletul de mai sus arata locul fizic, real, al fisierelor pe disc — si acolo, toate cele 5 fisiere HTML stau plat, unul langa altul, in acelasi folder.
Cai relative fata de cai absolute
<a href="...">) sau referinta la o resursa (<img src="...">) foloseste o cale — adresa fisierului tinta. Exista doua feluri de cai:Cale absoluta — adresa completa, cu tot cu protocol (
http:// sau https://) si numele domeniului. Functioneaza de oriunde, dar e lunga si depinde de adresa exacta a sitului.Cale relativa — adresa data fata de pozitia fisierului curent, fara protocol si fara domeniu. E scurta si functioneaza la fel de bine indiferent unde ajunge situl (pe calculatorul tau, pe orice server de gazduire, sub orice nume de domeniu).
Fisier in acelasi folder (din index.html catre produse.html, aflate amandoua in radacina):
<a href="produse.html">Produse</a>
Fisier intr-un subfolder (din index.html catre o imagine din imagini/):
<img src="imagini/logo.png" alt="Logo atelier">
Fisier in folderul parinte (dintr-o pagina aflata intr-un subfolder, catre pagina de start din radacina — se foloseste ../, adica "un folder mai sus"):
<a href="../index.html">Acasa</a>
../):Situl atelierului din aceasta lectie nu are nicio pagina HTML intr-un subfolder — de aceea nu ai ../ in niciun link al lui. Dar cand un sit creste, apare des un subfolder cu mai multe pagini de acelasi fel: de exemplu un folder blog/, cu blog/lemn-masiv.html si blog/ingrijire.html. Din blog/lemn-masiv.html, linkul de intoarcere la pagina de start arata asa: <a href="../index.html">Acasa</a> — exact fisierul din exemplul de mai sus, dar acum ai vazut si sub ce fel de sit apare cu adevarat aceasta a treia situatie.
Cale absoluta se foloseste, de regula, cand linkul duce catre alt sit, nu catre o pagina din situl propriu — de exemplu <a href="https://www.instagram.com/atelierultau">Pagina noastra de Instagram</a>. Pentru linkurile dintre paginile propriului sit, calea relativa e alegerea corecta: e mai scurta si nu se strica daca situl isi schimba domeniul sau e mutat pe alt server.
Un link scris cu calea completa de pe discul propriu, de tipul <a href="C:\Users\Ion\Desktop\atelier\galerie.html">, nu e nici cale relativa, nici cale absoluta valida pe web — e o cale de fisier locala, valabila doar pe acel calculator, cu acel utilizator. Dupa publicare pe server, un astfel de link nu duce nicaieri.
Meniul de navigare — identic pe toate paginile
<nav>, o lista <ul>/<li> si linkuri <a>. Cel mai important lucru: acelasi bloc de meniu — aceleasi linkuri, in aceeasi ordine — se copiaza identic pe fiecare pagina a sitului.
<nav>
<ul>
<li><a href="index.html" aria-current="page">Acasa</a></li>
<li><a href="despre.html">Despre</a></li>
<li><a href="produse.html">Produse</a></li>
<li><a href="galerie.html">Galerie</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</nav>
In pagina produse.html, acelasi bloc se copiaza identic, doar ca atributul aria-current="page" (care marcheaza, pentru cititoarele de ecran, care este pagina curenta) se muta pe linkul catre "Produse".
Situl are 5 pagini. Fiecare pagina afiseaza acelasi meniu, cu cate un link catre fiecare din cele 5 pagini (inclusiv catre ea insasi, ca meniul sa ramana identic peste tot).
Calcul: 5 pagini × 5 linkuri pe fiecare pagina = 25 de elemente <a> de meniu, insumate pe intregul sit.
Poti reface singur calculul: daca situl ar avea 8 pagini in loc de 5, cu acelasi meniu complet pe fiecare, ar rezulta 8 × 8 = 64 de linkuri de meniu in total.
Legaturi interne cu ancore — spre o sectiune exacta
<h2 id="finisaje">. Un link poate tinti direct acel punct, in loc sa duca doar la inceputul paginii, folosind semnul # urmat de valoarea id-ului. Valoarea unui id trebuie sa fie unica in pagina respectiva — nu poate exista de doua ori acelasi id pe aceeasi pagina.
In produse.html, undeva mai jos in pagina:
<h2 id="finisaje">Finisaje disponibile</h2>
La inceputul aceleiasi pagini, un link scurt care sare direct la acea sectiune:
<a href="#finisaje">Vezi finisajele</a>
Cand ancora e in aceeasi pagina, linkul incepe direct cu #, fara nume de fisier inainte.
Din index.html, un link care duce direct la sectiunea de finisaje din produse.html:
<a href="produse.html#finisaje">Vezi finisajele disponibile</a>
Aici numele fisierului tinta (produse.html) vine inaintea semnului # — browserul intai deschide acea pagina, apoi sare direct la elementul cu id="finisaje".
Pe pagina de produse, cu multe modele de mobilier, e util un buton la finalul paginii care sare inapoi la inceput:
<div id="sus"></div> — pus chiar la inceputul continutului, apoi la final: <a href="#sus">Inapoi sus</a>.
Greseala tipica — linkul care functioneaza local, dar se rupe dupa publicare
Windows nu deosebeste Produse.html de produse.html — le trateaza ca acelasi fisier. Multe servere de gazduire web (majoritatea bazate pe Linux) fac aceasta diferenta strict. Un link href="Produse.html" catre un fisier salvat de fapt ca produse.html functioneaza pe calculatorul tau si da eroare dupa publicare.
Windows arata caile de fisiere cu \ (backslash), dar sintaxa HTML si adresele web cer intotdeauna / (slash normal) — inclusiv pentru cai relative catre subfoldere: imagini/logo.png, nu imagini\logo.png.
Un link scris href="produse" (fara .html) sau catre un fisier salvat cu spatii in nume (produse finale.html) cauzeaza probleme similare — cel mai sigur e sa folosesti nume de fisiere fara spatii (cratima sau underscore in loc) si sa scrii intotdeauna extensia completa in link.
Semnul ca ceva nu e in regula: click pe link si apare o pagina de eroare ("404 — pagina negasita") sau, pentru o imagine, apare iconita de imagine sparta in loc de fotografie. Reparatia: deschizi folderul sitului si compari, litera cu litera, numele exact al fisierului de pe disc cu ce ai scris in href sau src — inclusiv majuscule/minuscule si extensia. Cel mai sigur test: dupa ce publici situl, dai click pe fiecare link al meniului, pe rand, si verifici ca ajungi unde trebuie.
Recapitulare si conexiuni
Pagina de start (index.html) — radacina ierarhiei sitului
↓ legata prin
Cai relative (produse.html, imagini/logo.png, ../index.html)
↓ organizate in
Meniu de navigare identic — acelasi pe fiecare pagina
↓ completat cu
Ancore — legaturi directe catre o sectiune (#id sau pagina.html#id)
In lectia despre elementele de continut ai invatat sa construiesti continutul fiecarei pagini in parte (liste, tabele, imagini, formulare). Azi ai invatat cum se leaga aceste pagini intre ele intr-un sit unitar. In lectia urmatoare vei invata criteriile de calitate ale unui sit inainte de publicare, inclusiv viteza de incarcare — iar un sit cu linkuri corecte, verificate, e primul pas obligatoriu spre acea calitate.
index.html = pagina de start, conventia recunoscuta automat de servere.
Cale relativa (fisier.html, folder/fisier.html, ../fisier.html) pentru linkuri catre propriul sit; cale absoluta (https://...) pentru linkuri catre alte situri.
Meniu de navigare — identic, copiat pe fiecare pagina, cu <nav>, <ul>, <li>, <a>.
Ancora — id pe elementul tinta, href="#id" (aceeasi pagina) sau href="pagina.html#id" (alta pagina).
Litere mari/mici, slash vs backslash, extensia .html — verifica-le mereu inainte de publicare.