Invatare Atomica

Vreau sa construiesc site-ul meu personal!

Progres lectie:
0%
🎯

Obiectivul lectiei

Email:maria@email.com

Dupa aceasta lectie vei putea:

  • Sa utilizezi recAPItulare rAPIda: tag-uri HTML folOSite in proiect
  • Sa implementezi recAPItulare CSS
  • Sa implementezi portofoliu complet - tot codul intr-un singur fisier
  • Sa aplici idee 1: gradient pe fundal
  • Sa aplici idee 2: efecte animate la hover

Incearca singur!

🛠 CONSTRUIESTE

Construieste pas cu pas!

Urmeaza fiecare pas in ordine. La final vei avea un site complet! Copiaza codul, lipeste-l intr-un fisier portofoliu.html si deschide-l in browser.

1
Scheletul HTML

Orice pagina web incepe cu structura de baza. Creeaza un fisier nou numit portofoliu.html si scrie acest cod:

Pasul 1: portofoliu.html - Structura de baza
<!DOCTYPE html> <html lang="ro"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Portofoliul lui [Numele Tau]</title> <style> /* CSS-ul va fi adaugat la Pasul 6 */ </style> </head> <body> <!-- Continutul va fi adaugat in pasii urmatori --> </body> </html>
💡 Inlocuieste [Numele Tau]

Scrie numele tau real in <title>. Acesta apare in tab-ul browserului.

2
Header cu nume si meniu de navigare

Adauga in <body> un header cu numele tau (h1), un subtitlu (p) si un meniu de navigare cu linkuri interne:

Pasul 2: Header + Navigare
<!-- HEADER - partea de sus a paginii --> <header> <h1>Maria Popescu</h1> <p>Eleva in clasa a VII-a | Pasionata de tehnologie</p> <!-- Meniu de navigare --> <nav> <ul> <li><a href="#despre">Despre mine</a></li> <li><a href="#hobby">Hobby-uri</a></li> <li><a href="#galerie">Galerie</a></li> <li><a href="#contact">Contact</a></li> </ul> </nav> </header>
💡 Ce sunt linkurile cu #?

Linkurile de forma href="#despre" sunt ancore interne. Cand dai click pe ele, pagina sare la sectiunea cu id="despre". Le vom adauga la fiecare sectiune.

3
Sectiunea "Despre mine" cu poza si text

Dupa </header>, adauga o sectiune cu o imagine si cateva paragrafe despre tine. Observa atributul id="despre" care face legatura cu meniul de navigare:

Pasul 3: Sectiunea Despre Mine
<!-- DESPRE MINE --> <section id="despre"> <h2>Despre mine</h2> <img src="poza-mea.jpg" alt="Fotografia mea" width="150"> <p>Buna! Ma numesc Maria si sunt eleva in clasa a VII-a la Scoala Gimnaziala Nr. 1.</p> <p>Sunt pasionata de informatica si imi place sa creez lucruri noi folosind tehnologia. Am inceput sa invat HTML si CSS si vreau sa devin programator web.</p> </section>
⚠ Nu ai o poza? Nicio problema!

Daca nu ai o poza, poti folosi un emoji mare in loc de <img>. Pur si simplu scrie un emoji in HTML: <p style="font-size: 5rem;">&#128100;</p> sau foloseste o imagine gratuita de pe Unsplash.

4
Sectiunea "Hobby-uri" cu lista ordonata

Dupa sectiunea "Despre mine", adauga hobby-urile tale intr-o lista ordonata (<ol>), de la cel mai important la cel mai putin important:

Pasul 4: Sectiunea Hobby-uri
<!-- HOBBY-URI --> <section id="hobby"> <h2>Hobby-urile mele</h2> <p>Iata ce imi place sa fac in timpul liber, in ordinea preferintelor:</p> <ol> <li>Programare si design web</li> <li>Citit carti de science-fiction</li> <li>Fotografie digitala</li> <li>Jocuri video</li> <li>Desen pe tableta grafica</li> </ol> </section>
💡 ol vs ul - care e diferenta?

<ol> = ordered list (lista ordonata cu numere: 1, 2, 3...).
<ul> = unordered list (lista neordonata cu buline). Alege ce se potriveste!

5
Galerie cu imagini si subtitrari

Adauga o galerie cu 2-3 imagini. Fiecare imagine are un text descriptiv dedesubt. Folosim <figure> si <figcaption> pentru a grupa imaginea cu textul ei:

Pasul 5: Sectiunea Galerie
<!-- GALERIE --> <section id="galerie"> <h2>Galeria mea</h2> <p>Cateva imagini din proiectele mele:</p> <div class="galerie-container"> <figure> <img src="proiect1.jpg" alt="Primul meu proiect web" width="250"> <figcaption>Primul meu site HTML</figcaption> </figure> <figure> <img src="proiect2.jpg" alt="Proiect de desen" width="250"> <figcaption>Desen digital realizat pe tableta</figcaption> </figure> <figure> <img src="proiect3.jpg" alt="Fotografie nature" width="250"> <figcaption>Fotografie din vacanta</figcaption> </figure> </div> </section>
📷 Imagini gratuite

Poti descarca imagini gratuite de pe Unsplash sau Pixabay. Salveaza-le in acelasi folder cu fisierul HTML. Asigura-te ca numele fisierului din src se potriveste exact cu numele imaginii descarcate!

6
Sectiunea de contact si footer

Adauga sectiunea de contact cu un link de email si un footer cu drepturile de autor:

Pasul 6: Contact + Footer
<!-- CONTACT --> <section id="contact"> <h2>Contact</h2> <p>Vrei sa imi scrii? Trimite-mi un email:</p> <p> <a href="mailto:maria@email.com"> maria@email.com </a> </p> <p>Site-uri care imi plac:</p> <ul> <li> <a href="https://scratch.mit.edu" target="_blank">Scratch</a> </li> <li> <a href="https://code.org" target="_blank">Code.org</a> </li> </ul> </section> <!-- FOOTER --> <footer> <p>&copy; 2026 Maria Popescu - Proiect scolar</p> </footer>
📧 Cum functioneaza mailto?

Cand un utilizator da click pe un link cu href="mailto:...", browserul deschide automat aplicatia de email cu adresa precompletata. Iar target="_blank" deschide linkul intr-un tab nou.

7
Stilizarea cu CSS - fa pagina sa arate profesional!

Acum vine partea magica! Inlocuieste comentariul din <style> (Pasul 1) cu acest CSS. Salveaza si reincarca pagina - vei vedea o transformare completa:

Pasul 7: CSS complet
/* === STILURI GENERALE === */ body { font-family: Arial, sans-serif; background-color: #0a0a12; color: #f1f5f9; margin: 0; padding: 0; } /* === HEADER === */ header { text-align: center; padding: 40px 20px; background-color: #1a1a2e; border-bottom: 3px solid #8b5cf6; } h1 { color: #8b5cf6; font-size: 2.5em; margin-bottom: 10px; } /* === MENIU NAVIGARE === */ nav ul { list-style: none; padding: 0; display: flex; justify-content: center; gap: 20px; margin-top: 15px; } nav a { color: #8b5cf6; text-decoration: none; font-weight: bold; padding: 5px 10px; border-radius: 5px; } nav a:hover { background-color: #8b5cf6; color: white; } /* === SECTIUNI === */ section { max-width: 700px; margin: 20px auto; padding: 25px; background-color: #12121f; border-radius: 15px; } h2 { color: #06b6d4; border-bottom: 2px solid #8b5cf6; padding-bottom: 10px; margin-bottom: 15px; } /* === IMAGINE PROFIL === */ img { border-radius: 10px; border: 3px solid #8b5cf6; } /* === GALERIE === */ .galerie-container { display: flex; gap: 15px; flex-wrap: wrap; justify-content: center; } figure { text-align: center; margin: 0; } figcaption { color: #94a3b8; font-size: 0.85em; margin-top: 5px; font-style: italic; } /* === LINKURI === */ a { color: #8b5cf6; text-decoration: none; } a:hover { color: #06b6d4; text-decoration: underline; } /* === FOOTER === */ footer { text-align: center; padding: 20px; color: #64748b; border-top: 1px solid #2d2d44; margin-top: 20px; }
Ceva nu functioneaza? Click aici pentru sfaturi de depanare

Imaginile nu apar: Verifica ca fisierul imagine (ex: poza-mea.jpg) este in acelasi folder cu portofoliu.html. Numele trebuie sa fie identic, inclusiv extensia (.jpg, .png, etc.).

CSS-ul nu se aplica: Verifica ca ai scris CSS-ul intre <style> si </style> in sectiunea <head>, nu in <body>.

Meniul nu functioneaza: Verifica ca id-ul din href="#despre" se potriveste exact cu id="despre" pe sectiune. Fara spatii, fara majuscule diferite.

Pagina arata diferit: Salveaza fisierul (Ctrl+S) si reincarca pagina in browser (F5 sau Ctrl+R).

1

Recapitulare rapida: tag-uri HTML folosite in proiect

Recapitulare rapida: tag-uri HTML folosite in proiect

In proiectul tau ai folosit tag-uri din toate cele 5 lectii anterioare. Iata un rezumat:

Tag HTML Ce face Lectia
<!DOCTYPE html> Spune browserului ca pagina e HTML5 L1
<html>, <head>, <body> Structura de baza a oricarei pagini L1
<h1>, <h2> Titluri (h1 = cel mai mare si important) L2
<p> Paragraf de text L2
<ul>, <ol>, <li> Liste neordonate / ordonate / element de lista L3
<a href="..."> Link catre alta pagina sau sectiune L3
<img src="..." alt="..."> Imagine cu text alternativ L4
<figure>, <figcaption> Imagine cu legenda/subtitlu L4
<header>, <section>, <footer> Tag-uri semantice - organizeaza pagina L1-L2
<nav> Meniu de navigare L3
<style> CSS intern - stilizeaza pagina L5
2

Recapitulare CSS

Recapitulare CSS

In proiect ai folosit mai multe proprietati CSS. Iata ce face fiecare:

Proprietate CSS Ce face Exemplu
background-color Culoarea fundalului #0a0a12 (negru-albastru)
color Culoarea textului #8b5cf6 (violet)
font-family Tipul de font Arial, sans-serif
font-size Marimea textului 2.5em (de 2.5 ori marimea normala)
padding Spatiu interior (intre continut si margine) 25px
margin Spatiu exterior (intre element si vecini) 20px auto (centreaza)
border-radius Colturi rotunjite 15px (colturi rotunde)
border Bordura vizibila 3px solid #8b5cf6
text-align Aliniere text center
text-decoration Subliniere / decorare text none (scoate sublinierea)
:hover Stil cand mouse-ul e deasupra Schimba culoarea la hover
display: flex Asaza elementele pe acelasi rand Meniul de navigare
3

Portofoliu complet - tot codul intr-un singur fisier

Portofoliu complet - tot codul intr-un singur fisier

Iata intreaga pagina de la inceput pana la sfarsit. Copiaz-o si salveaz-o ca portofoliu.html:

portofoliu.html - Codul complet
<!DOCTYPE html> <html lang="ro"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Portofoliul lui Maria Popescu</title> <style> body { font-family: Arial, sans-serif; background-color: #0a0a12; color: #f1f5f9; margin: 0; padding: 0; } header { text-align: center; padding: 40px 20px; background-color: #1a1a2e; border-bottom: 3px solid #8b5cf6; } h1 { color: #8b5cf6; font-size: 2.5em; } h2 { color: #06b6d4; border-bottom: 2px solid #8b5cf6; padding-bottom: 10px; } nav ul { list-style: none; padding: 0; display: flex; justify-content: center; gap: 20px; } nav a { color: #8b5cf6; text-decoration: none; font-weight: bold; } nav a:hover { background-color: #8b5cf6; color: white; padding: 5px 10px; border-radius: 5px; } section { max-width: 700px; margin: 20px auto; padding: 25px; background-color: #12121f; border-radius: 15px; } img { border-radius: 10px; border: 3px solid #8b5cf6; } .galerie-container { display: flex; gap: 15px; flex-wrap: wrap; justify-content: center; } figcaption { color: #94a3b8; font-style: italic; } a { color: #8b5cf6; text-decoration: none; } a:hover { color: #06b6d4; text-decoration: underline; } footer { text-align: center; padding: 20px; color: #64748b; border-top: 1px solid #2d2d44; } </style> </head> <body> <header> <h1>Maria Popescu</h1> <p>Eleva in clasa a VII-a</p> <nav> <ul> <li><a href="#despre">Despre</a></li> <li><a href="#hobby">Hobby-uri</a></li> <li><a href="#galerie">Galerie</a></li> <li><a href="#contact">Contact</a></li> </ul> </nav> </header> <section id="despre"> <h2>Despre mine</h2> <img src="poza.jpg" alt="Poza mea" width="150"> <p>Buna! Sunt Maria si imi place tehnologia.</p> </section> <section id="hobby"> <h2>Hobby-urile mele</h2> <ol> <li>Programare</li> <li>Citit</li> <li>Fotografie</li> </ol> </section> <section id="galerie"> <h2>Galeria mea</h2> <div class="galerie-container"> <figure> <img src="p1.jpg" alt="Proiect 1" width="200"> <figcaption>Primul site</figcaption> </figure> <figure> <img src="p2.jpg" alt="Proiect 2" width="200"> <figcaption>Desen digital</figcaption> </figure> </div> </section> <section id="contact"> <h2>Contact</h2> <p>Email: <a href="mailto:maria@email.com">maria@email.com</a></p> </section> <footer> <p>&copy; 2026 Maria Popescu</p> </footer> </body> </html>
4

Idee 1: Gradient pe fundal

Idee 1: Gradient pe fundal

In loc de o singura culoare de fundal, poti folosi un gradient (trecere intre doua culori):

Gradient CSS
header { background: linear-gradient(135deg, #1a1a2e, #16213e); /* Trecere de la un albastru-inchis la altul */ }
5

Idee 2: Efecte animate la hover

Idee 2: Efecte animate la hover

Poti face imaginile sa se mareasca usor cand treci mouse-ul peste ele:

Hover cu tranzitie
img { transition: transform 0.3s; /* tranzitia dureaza 0.3 secunde */ } img:hover { transform: scale(1.05); /* mareste imaginea cu 5% */ }
6

Idee 3: O a doua pagina!

Idee 3: O a doua pagina!

Creeaza un al doilea fisier HTML (ex: proiecte.html) si leaga-l din meniul de navigare. In loc de #, foloseste numele fisierului:

Link catre alta pagina
<!-- In meniul de navigare --> <li><a href="proiecte.html">Proiectele mele</a></li>

Exercitii practice

Exercitiul 1 (Nivel minim) - Extensia 1: Site cu 3 pagini legate intre ele

Transforma portofoliul intr-un site cu mai multe pagini:

Cerinte:

Indicii:

  • In <head> inlocuieste <style>...</style> cu <link rel="stylesheet" href="style.css">
  • In meniu schimba href="#hobby" in href="hobby.html"
  • Toate cele 3 fisiere trebuie sa fie in acelasi folder

Exercitiul 2 (Nivel standard) - Extensia 2: Adauga animatii CSS

Cerinta: Adauga la portofoliu cel putin 3 efecte vizuale diferite folosind CSS:

  1. Imaginile se maresc usor la hover (transform: scale(1.05) + transition)
  2. Linkurile din meniu isi schimba fundalul la hover
  3. Sectiunile au o umbra subtila (box-shadow)

Exemplu box-shadow:

section { box-shadow: 0 4px 15px rgba(139, 92, 246, 0.1); }

Indicii:

  • Proprietatea transition: all 0.3s; face orice schimbare sa fie animata
  • Poti anima: culori, dimensiuni, umbre, borduri
  • Nu exagera cu animatiile - subtilitatea e cheia!

Exercitiul 3 (Nivel performanta) - Extensia 3: Analizeaza si compara

Deschide un site web real (site-ul scolii, Wikipedia, sau alt site simplu) si raspunde:

  1. Ce tag-uri HTML ai putea identifica pe acea pagina? (Foloseste Click dreapta > Inspectare in browser pentru a vedea codul)
  2. Ce proprietati CSS recunosti? Identifica cel putin 5 proprietati pe care le-ai invatat.
  3. Ce ai face diferit pe acel site daca l-ai crea tu? Ce ai schimba la design?

Raspunde numerotat: 1. ... 2. ... 3. ...

Ce ai invatat astazi

  • Ai invatat recapitulare rapida: tag-uri HTML folosite in proiect
  • Acum stii recapitulare CSS
  • Ai descoperit portofoliu complet - tot codul intr-un singur fisier
  • Ai explorat idee 1: gradient pe fundal
  • Ai inteles idee 2: efecte animate la hover
  • Ai invatat idee 3: o a doua pagina

Urmatoarea lectie

Continua cu lectia urmatoare pentru a aprofunda cunostintele.

Continua →