Lectia 5b - HTML & CSS

Proiect de Sinteza: Site Multi-Pagini

Construieste pas cu pas un site complet, integrΓ’nd tot ce ai invatat: structura HTML, text, imagini, linkuri, CSS si layout!

Progres lectie:
0%
🎯

Obiectivul lectiei

"Dupa aceasta lectie vei fi construit un site complet cu doua pagini, stilizat cu CSS, cu navigare functionala intre pagini si cu layout structurat β€” exact produsul sumativ cerut de programa!"

Nota curriculara: Programa OMEN 3393/2017 cls. VIII (domeniu Pagini web) prevede ca produs sumativ: Site simplu (multi-pagini) / pagina dupa specificatie, cu axele: structura, continut, navigare, aspect pentru audienta. Aceasta lectie ghideaza construirea acelui produs, integrand competentele din Lectiile 1-5.

Dupa aceasta lectie vei putea:

  • Sa organizezi fisierele unui proiect web real (folder, index.html, stil.css, pagini secundare)
  • Sa construiesti o pagina de start (index.html) cu header, sectiune de continut si footer
  • Sa creezi o a doua pagina HTML legata prin navigare cu <a href>
  • Sa aplici un fisier CSS extern cu stiluri pentru text, culori, margini si layout Flexbox de baza
  • Sa verifici ca site-ul functioneaza corect in browser inainte de publicare
1

Planul si structura proiectului

Inainte sa scriem prima linie de cod, planificam ce vom construi. Un site simplu cu doua pagini are nevoie de:

  • O pagina de start (index.html) β€” prezentare generala, cu un titlu mare si un paragraf de introducere
  • O pagina secundara (despre.html sau contact.html) β€” informatii suplimentare
  • Un fisier CSS extern (stil.css) β€” stilizeaza ambele pagini din acelasi loc

Structura fisierelor pe calculator arata asa:

site-meu/
  |-- index.html       <-- pagina principala (OBLIGATORIU: nume exact "index.html")
  |-- despre.html      <-- a doua pagina
  |-- stil.css         <-- stiluri comune pentru ambele pagini
  |-- imagini/
        |-- logo.png   <-- optional: imaginile site-ului

De ce index.html? Serverele web cauta automat fisierul cu acest nume exact cand cineva acceseaza adresa site-ului. Daca numesti pagina altfel (de exemplu "acasa.html"), serverul nu o va gasi automat.

De ce CSS extern? Daca scriem stiluri intr-un fisier separat (stil.css) si il referentiem din ambele pagini HTML, orice modificare de culoare sau font se aplica simultan pe tot site-ul β€” nu trebuie sa modificam fiecare pagina in parte. Acesta este principiul DRY (Don't Repeat Yourself β€” Nu te repeta).

Pentru aceasta lectie vom construi un site simplu cu tema libera: poate fi o prezentare a orasului tau, a unui sport preferat, a unui animal, sau a oricarui subiect te intereseaza. Conteaza structura si tehnica, nu subiectul.

Care este primul pas in construirea unui site multi-pagini?
A Sa creezi folderul proiectului si fisierul index.html
B Sa publici site-ul pe internet
C Sa scrii codul CSS
2

Construim pagina principala (index.html)

Creeaza un fisier nou numit index.html si scrie urmatorul cod de baza. Acesta integreaza tot ce ai invatat in Lectiile 1-4:

<!DOCTYPE html>
<html lang="ro">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Site-ul Meu - Acasa</title>
  <link rel="stylesheet" href="stil.css">
</head>
<body>

  <header>
    <h1>Bine ai venit pe site-ul meu!</h1>
    <nav>
      <a href="index.html">Acasa</a>
      <a href="despre.html">Despre</a>
    </nav>
  </header>

  <main>
    <h2>Prezentare</h2>
    <p>Acesta este site-ul meu personal. Aici vei gasi informatii despre mine si interesele mele.</p>

    <h2>Interese</h2>
    <ul>
      <li>Informatica</li>
      <li>Sport</li>
      <li>Muzica</li>
    </ul>
  </main>

  <footer>
    <p>&copy; 2026 Site-ul Meu</p>
  </footer>

</body>
</html>

Observa structura semantica:

  • <header> β€” antetul paginii cu titlul si meniul de navigare
  • <nav> β€” zona de navigare cu link-uri catre celelalte pagini
  • <main> β€” continutul principal al paginii
  • <footer> β€” subsolul cu informatii de copyright

Tag-urile semantice (header, nav, main, footer) au doua avantaje importante: (1) fac codul mai usor de inteles pentru orice programator care il citeste, si (2) ajuta motoarele de cautare (Google) sa inteleaga structura site-ului. In Lectia 1 ai invatat structura de baza β€” acum o aplicam intr-un context real.

Salveaza fisierul si deschide-l in browser. Ar trebui sa vezi un titlu, un meniu cu doua link-uri (Acasa si Despre) si continutul de sub el β€” fara stiluri deocamdata, dar functional.

Cum legam un fisier CSS extern la o pagina HTML?
A Scriem CSS direct in tag-ul <body>
B Folosim <link rel="stylesheet" href="stil.css"> in sectiunea <head>
C Apasam butonul CSS din browser
3

Construim a doua pagina (despre.html)

Creeaza un al doilea fisier, despre.html, in acelasi folder ca index.html. Acesta trebuie sa aiba aceeasi structura si sa refere acelasi fisier CSS:

<!DOCTYPE html>
<html lang="ro">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Site-ul Meu - Despre</title>
  <link rel="stylesheet" href="stil.css">
</head>
<body>

  <header>
    <h1>Bine ai venit pe site-ul meu!</h1>
    <nav>
      <a href="index.html">Acasa</a>
      <a href="despre.html">Despre</a>
    </nav>
  </header>

  <main>
    <h2>Despre Mine</h2>
    <p>Sunt elev in clasa a VIII-a. Imi place informatica si am invatat sa construiesc pagini web!</p>

    <h2>Ce am invatat</h2>
    <ol>
      <li>Structura HTML (DOCTYPE, head, body)</li>
      <li>Texte, titluri si liste</li>
      <li>Imagini si link-uri</li>
      <li>Stilizare cu CSS</li>
      <li>Layout cu Flexbox</li>
    </ol>

    <a href="index.html">Inapoi la pagina principala</a>
  </main>

  <footer>
    <p>&copy; 2026 Site-ul Meu</p>
  </footer>

</body>
</html>

Observa ca:

  • Link-urile din <nav> folosesc cai relative (fara https://). Scriem href="index.html", nu href="https://...". Caile relative functioneaza atat local (pe calculatorul tau) cat si pe server, pentru ca ele sunt interpretate relativ la locul fisierului curent.
  • Ambele pagini includ acelasi meniu de navigare. Aceasta este practica standard: vizitatorul poate naviga intre pagini de oriunde se afla pe site.
  • Ambele pagini refera acelasi fisier CSS (href="stil.css"). Orice schimbare in stil.css va afecta ambele pagini simultan.

Testeaza navigarea: deschide index.html in browser, apasa "Despre" β€” ar trebui sa se deschida despre.html. Apasa "Acasa" β€” te intoarce la index.html. Navigarea functioneaza complet local, fara internet!

Cum facem link intre doua pagini ale aceluiasi site?
A Nu se pot lega paginile unui site
B Scriem adresa completa https://...
C Folosim href cu calea relativa: href="despre.html"
4

Adaugam stilizarea CSS (stil.css)

Creeaza fisierul stil.css in acelasi folder. Acesta va stiliza ambele pagini HTML. Scrie urmatorul cod CSS care integreaza conceptele din Lectiile 4 si 5:

/* === RESET DE BAZA === */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* === BODY - fundal si font === */
body {
  font-family: Arial, sans-serif;
  background-color: #f5f5f5;
  color: #333333;
  line-height: 1.6;
}

/* === HEADER === */
header {
  background-color: #2c3e50;
  color: white;
  padding: 1rem 2rem;
}

header h1 {
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
}

/* === NAVIGARE (Flexbox) === */
nav {
  display: flex;
  gap: 1rem;
}

nav a {
  color: #ecf0f1;
  text-decoration: none;
  padding: 0.3rem 0.8rem;
  border-radius: 4px;
}

nav a:hover {
  background-color: #3498db;
}

/* === CONTINUT PRINCIPAL === */
main {
  max-width: 800px;
  margin: 2rem auto;
  padding: 0 1rem;
}

main h2 {
  color: #2c3e50;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}

main p {
  margin-bottom: 1rem;
}

main ul, main ol {
  margin-left: 2rem;
  margin-bottom: 1rem;
}

main li {
  margin-bottom: 0.3rem;
}

/* === LINK-URI IN CONTINUT === */
main a {
  color: #3498db;
}

main a:hover {
  text-decoration: underline;
}

/* === FOOTER === */
footer {
  background-color: #2c3e50;
  color: #bdc3c7;
  text-align: center;
  padding: 1rem;
  margin-top: 3rem;
}

Acest CSS integreaza cunostintele din Lectiile 4 si 5:

  • Lectia 4 (CSS intro): selectori, culori de fundal si text, fonturi, margini, border-radius
  • Lectia 5 (Layout): box-sizing: border-box, display: flex, gap, max-width, margin: auto pentru centrare
  • Lectia 3 (Linkuri): stilizarea link-urilor cu color si :hover

Salveaza fisierul si reincarca index.html in browser. Acum ar trebui sa vezi: un header inchis la culoare cu titlul in alb, un meniu de navigare orizontal, continut centrat cu margini corespunzatoare si un footer in partea de jos.

Ce proprietate CSS face ca elementele <nav> sa fie aranjate pe un rand orizontal?
A display: flex
B color: blue
C margin: auto
5

Verificarea finala inainte de publicare

Inainte sa consideri site-ul gata, parcurge aceasta lista de verificare. Fiecare punct corespunde unui criteriu din rubrica de evaluare a programei (structura, continut, navigare, aspect):

STRUCTURA:
[ ] Folderul proiectului contine: index.html, despre.html, stil.css
[ ] Pagina principala se numeste exact "index.html"
[ ] Ambele pagini HTML au DOCTYPE, <head> cu charset si <title>, si <body>
[ ] Fisierul CSS este extern (nu inline) si e referenciat din ambele pagini

CONTINUT (Lectiile 2 si 3):
[ ] Fiecare pagina are cel putin un titlu h1 sau h2 si un paragraf <p>
[ ] Exista cel putin o lista (ul sau ol) pe una din pagini
[ ] Alt text (atribut alt) la imagini, daca ai adaugat imagini

NAVIGARE (Lectia 3):
[ ] Link-ul "Despre" din index.html deschide corect despre.html
[ ] Link-ul "Acasa" din despre.html se intoarce corect la index.html
[ ] Link-urile folosesc cai relative (fara https://)

ASPECT (Lectiile 4 si 5):
[ ] CSS-ul se aplica pe ambele pagini (culorile si fontul se vad)
[ ] Header-ul si footer-ul arata identic pe ambele pagini
[ ] Meniul de navigare este orizontal (display: flex functioneaza)
[ ] Textul este lizibil (contrast suficient intre text si fundal)

Daca toate punctele sunt bifate, site-ul tau este complet si gata de publicare. In Lectia 6 vei invata exact cum sa il pui pe internet, astfel incat oricine din lume sa il poata vedea.

Sfat profesionist: testeaza site-ul si in modul mobil. Apasa F12 in browser, apoi iconita de telefon din bara de sus a Developer Tools, si verifica ca textul este lizibil si meniul functioneaza pe un ecran mic.

Ce verifici INAINTE de a considera site-ul gata?
A Ca fisierul CSS are exact 100 linii
B Ca site-ul este publicat pe internet
C Ca toate paginile se deschid, link-urile functioneaza si aspectul este corect

Exercitii practice

Exercitiul 1 (Nivel minim) - Proiect ghidat

Urmeaza pasii din aceasta lectie si construieste un site cu doua pagini despre un subiect la alegere (orasul tau, un sport, un animal, un joc, un muzician). Respecta structura: folder, index.html, despre.html, stil.css.

Cerinte obligatorii:

Trimite profesorului folderul comprimat (zip) cu cele 3 fisiere. Profesorul va deschide index.html si va verifica navigarea si aspectul.

Exercitiul 2 (Nivel standard) - Site extins

Extinde site-ul de la exercitiul 1 cu elemente suplimentare care demonstreaza competentele din toate cele 5 lectii anterioare.

Cerinte obligatorii:

⭐ Bonus (pentru nota maxima):

  • Adauga o a treia pagina (ex: contact.html) cu un formular simplu <form> cu campuri de text
  • Foloseste variabile CSS (--culoare-principala: #2c3e50) pentru a controla schema de culori din un singur loc
  • Adauga sectiuni cu carduri stilizate (border, padding, border-radius) aranjate cu Flexbox

Salveaza folderul ca "proiect-sinteza-[numetau].zip" si trimite-l profesorului. Site-ul trebuie sa functioneze complet la deschiderea locala a fisierului index.html.

Exercitiul 3 (Nivel performanta) - Compunere

Cerinta: Scrie un text de 8-10 randuri in care descrii site-ul construit: ce subiect ai ales, cum ai organizat fisierele, ce tag-uri HTML ai folosit si de ce, ce stiluri CSS ai aplicat si cum. Mentioneaza explicit cum ai integrat cunostintele din fiecare lectie (1-5) in produsul final.

Indicii pentru structurarea raspunsului:

  • Descrie structura de fisiere (cate fisiere, ce rol are fiecare)
  • Explica de ce ai ales tag-urile semantice (header, nav, main, footer)
  • Descrie cum functioneaza navigarea intre pagini cu cai relative
  • Explica avantajul fisierului CSS extern (modifici un singur loc, se aplica pe tot)
  • Mentioneaza ce tehnici de layout ai folosit si ce efect au

Cuvinte cheie de folosit: index.html, cale relativa, CSS extern, header, nav, main, footer, display: flex, gap, border-radius, verificare, navigare

Format: Scrie raspunsul intr-un document (Word sau text), folosind paragrafe coerente. Salveaza si trimite profesorului impreuna cu folderul proiectului.

Ce ai realizat astazi

  • Ai planificat structura de fisiere a unui site real (folder, index.html, despre.html, stil.css)
  • Ai construit doua pagini HTML cu structura semantica (header, nav, main, footer)
  • Ai realizat navigarea intre pagini cu link-uri cu cai relative
  • Ai aplicat un fisier CSS extern care stilizeaza ambele pagini simultan
  • Ai integrat cunostintele din Lectiile 1-5 intr-un produs complet si functional
  • Ai verificat site-ul cu o lista de criterii (structura, continut, navigare, aspect)

Urmatoarea lectie

Site-ul tau este gata! In Lectia 6 vei invata cum sa il publici pe internet, astfel incat oricine din lume sa il poata accesa.

Continua β€” Publica site-ul! β†’