Laborator: Foi de stiluri CSS
concepte esenţiale (...şi puţin mai mult)
Acest document reprezintă o colecţie de resurse – prezentări, exemple de cod-sursă, tutoriale etc. – pentru (re)familiarizarea şi aprofundarea cunoştinţelor de CSS, în contextul mai larg al designului Web.
Preliminarii
O serie de informaţii ce pot fi asimilate în prealabil, utile mai ales novicilor:
-
Dezvoltator Web?! – informaţii esenţiale despre spaţiul WWW + arhitectura generică a aplicaţiilor Web, inclusiv tehnologii şi direcţii de dezvoltare a acestora;
-
HTML5 în XXX de minute – cele mai importante aspecte vizând limbajul de marcare HTML5.
Tutorial CSS
Acest laborator are la bază prezentarea Foi de stiluri CSS:
Exemple CSS
Câteva exemplificări şi studii de caz ilustrând caracteristicile de bază ale foilor de stiluri în cascadă:
-
Proprietăţi CSS declarate local via atributul
style
precizat pentru fiecare element HTML.alternativă: documentul HTML complet – de vizualizat codul sursă via opţiunea View Source a navigatorului Web sau – mai bine – de recurs la instrumentele dedicate dezvoltatorilor Web: Firefox Developer Tools (Mozilla), Chrome DevTools (Google), Edge DevTools (Microsoft) ori Safari Web Development Tools (Apple).
-
Proprietăţi în antetul paginii Web.
alternativă: varianta HTML completă (de explorat codul sursă).
-
Cascada CSS – un exemplu simplu referitor la aplicarea proprietăţilor de redare în cascadă (sunt incluse 2 foi de stiluri, prima fiind oferită de Consorţiul Web, iar cealaltă disponibilă pe serverul unde e stocat documentul HTML, apoi se definesc via CSS maniere de afişare în antetul HTML, plus inline via atributul
style
precizat pentru un element<span>
). -
Selectori CSS – specificarea unor proprietăţi CSS doar pentru anumite elemente HTML.
-
Letrină în CSS – un experiment de utilizare a pseudo-elementelor.
-
Formular Web redat via CSS – se recurge la selectare bazată pe numele atributelor, pseudo-clase şi pseudo-elemente; de asemenea, se folosesc diverse funcţii CSS predefinite.
-
Formatarea unui tabel HTML – un exemplu ce adoptă alte metode de selectare oferite de CSS.
-
Aranjament vizual cu CSS – exemplificarea utilizării proprietăţii
display
pentru a reda conţinutul în formă tabelară. -
Specificarea fundalului – se recurge la diverse proprietăţi vizând ajustarea fundalului (background), plus specificarea unei resurse via funcţia
url()
. -
Alinieri, imagini, chenare CSS – un alt exemplu de "înfrumuseţare" a afişării datelor.
-
Design (Web) responsiv – o prezentare referitoare la designul Web responsiv + tehnologiile aferente.
-
Understanding Z-Index in CSS – un ghid vizual privitor la utilizarea proprietăţii
z-index
. -
Variabile (proprietăţi definite de utilizator) – exemplificarea folosirii funcţiilor
var()
şicalc()
. -
Aplicarea de efecte asupra imaginilor – o exemplificare de utilizare a filtrelor şi transformărilor 2D.
alternativă: varianta HTML completă (de parcurs codul sursă).
Detalii practice în articolul The World of CSS Transforms. Pentru aspecte mai avansate, a se studia tutorialul Advanced effects with CSS background blend modes care prezintă diverse detalii referitoare la facilităţile definite de specificaţia CSS Blend Modes.
-
Animaţii simple – un exemplu de specificare declarativă a animaţiilor rulate ad infinitum + diverse exemplificări: Epic Spinners şi Animarea ilustraţiilor SVG cu CSS.
alternativă: documentul HTML complet (de studiat codul sursă).
-
An Interactive Guide to CSS Transitions – un ghid vizând realizarea de animaţii (mai) complexe via proprietatea
transition
. -
Aranjament vizual flexibil – un tutorial interactiv referitor la flexbox – a se parcurge şi A Complete Guide to Flexbox, plus tutorialul interactiv Learn Box Alignment.
-
Caroiaje: CSS Grid – un ghid de utilizare practică + un studiu de caz concret: Rebuilding slack.com.
-
The Shapes of CSS – redarea de forme geometrice 2D folosind exclusiv CSS.
Instrumente & studii de caz
O enumerare a unor instrumente de interes:
-
Validarea codului sursă: CSS Validation Service (W3C), CSS Lint şi/sau Stylelint.
-
Verificarea suportului oferit de navigatorul Web: Can I Use.
-
Generarea de cod CSS: CSS Code Generators, CSS Gradient, Neumorphism, CSSgram, Animista, CSS clip-path Maker şi altele descrise în articolul Best CSS Code Generators.
Soluţii de design Web doar cu CSS:
Metodologii: Understanding CSS Writing Methodologies – a se considera BEM (Block, Element, Modifier) şi/sau alte abordări.
🎨 Inspiraţie
Resurse utile
Pentru aprofundarea unor aspecte, recomandăm consultarea următoarelor: