- HTML + CSS + responsive: 12 puncte
- JavaScript: 18 puncte
- fișiere separate pentru HTML și CSS
- conținutul site-ului trebuie să aibă sens (nu îl umpleți cu Lorem ipsum)
- nu este acceptată folosirea de frameworkuri și librării
HTML:
- trecerea testelor de validare HTML http://validator.w3.org/
- folosirea tagurilor semantice prezentate la curs/laborator
CSS:
- trecerea testelor de validare CSS https://jigsaw.w3.org/css-validator/
- site-ul trebuie să fie responsive (media query, unități relative, tipuri de display)
- folosirea selectorilor CSS de bază (după id, clasă, tag, elementContinut, elementCopil, al n-lea copil de tipul unui tag :nth-of-type)
- specificarea proprietăților: width, height, color, background, font-size, border, padding, margin, display etc.
- folosirea coloanelor pentru layoutul a cel puțin unei pagini; realizarea layoutului fără tabele (folosind flex și grid)
- site-ul trebuie să conțină un menu drop-down realizat cu CSS
- site-ul trebuie să aibă și conținut generat (folosind :after, :before)
- site-ul trebuie să conțină o tranziție care implică schimbarea mai multor proprietăți la intervale diferite de timp
- site-ul trebuie să conțină o animație care să modifice mai multe proprietăți ale aceluiași element
- fișier separat pentru codul JavaScript
- modificarea stilului unui element sau al unui grup de elemente
- manipularea DOM-ului (selectare după id, tag, clasă, folosind selectori CSS)
- crearea și ștergerea de elemente HTML
- folosirea și modificarea evenimentelor generate de mouse si tastatură
- modificare de proprietăți
- inputuri funcționale (de exemplu: input de tip text/range/number/radio/checkbox, select, textarea)
- folosirea setTimeout sau setInterval
- folosirea localStorage (să se păstreze în localStorage o colecție de elemente)
- folosirea a cel puțin unei metode din clasele: Math, Array, String, Date
- schimbarea aleatoare a valorilor unor proprietăți (de exemplu: culoare, dimensiuni, poziție)
- folosirea proprietăților classList, target sau currentTarget
- folosirea metodelor getComputedStyle și stopPropagation
- validarea datelor dintr-un formular folosind expresii regulate
Pe lângă implementarea acestor cerințe minimale (a căror rezolvare corectă nu garantează punctajul maxim), includeți în proiect și tratarea altor probleme (la alegere) precum cea a accesibilității, internaționalizării (traducere, caractere speciale etc.), folosirii canvas/svg etc.
Cerințele pot fi modificate și/sau completate de fiecare profesor de laborator.