Css

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 27 mai 2020; verificarea necesită 71 de modificări .
css
Extensie .css
tip MIME text/css
Dezvoltator Grupul de lucru CSS [d]
publicat 17 decembrie 1996
Tip de format Limbajul foii de stil
Standard(e) Nivelul 1 (Recomandare)
Nivelul 2 (Recomandare)
Nivelul 2 Revizia 1 (Recomandare)
Site-ul web w3.org/Style/CSS/drafts.csswg.org
_

CSS ( /siːɛsɛs/ English  Cascading Style Sheets  ) este un limbaj formal pentru a descrie aspectul unui document ( pagină web ) scris folosind un limbaj de marcare (cel mai adesea HTML sau XHTML ). De asemenea, poate fi aplicat oricărui document XML , cum ar fi SVG sau XUL .

Prezentare generală

Folosind CSS

CSS este folosit de creatorii de pagini web pentru a defini culorile , fonturile , stilurile, poziționarea blocurilor individuale și alte aspecte de prezentare ale aspectului acestor pagini web. Scopul principal de design al CSS este de a îngrădi și separa descrierea structurii logice a unei pagini web (care se face folosind HTML sau alte limbaje de marcare ) de descrierea aspectului acelei pagini web (care se face acum folosind CSS -ul formal ). limba). Această separare poate crește accesibilitatea unui document, poate oferi o mai mare flexibilitate și control asupra prezentării acestuia și poate reduce complexitatea și repetitivitatea conținutului structural.

În plus, CSS permite ca același document să fie prezentat în diferite stiluri sau metode de ieșire , cum ar fi prezentarea pe ecran, prezentarea tipărită, citirea vocală (cu un browser vocal dedicat sau cititor de ecran) sau când este afișat de dispozitive Braille . .

Modalități de a include CSS într-un document

Regulile CSS pot fi localizate atât în ​​documentul web în sine , al cărui aspect îl descriu, cât și în fișierele externe care au extensia .css . Formatul CSS este un fișier text care conține o listă de reguli CSS și comentariile acestora.
Stilurile CSS pot fi incluse sau încorporate în documentul web pe care îl descriu în patru moduri:

<!DOCTYPE html> < html > < head > ..... < link rel = "stylesheet" type = "text/css" href = "style.css" > </ head > < body > ..... </ body > </ html >
  • când fișierul de stil este plasat separat de documentul părinte, acesta poate fi inclus în document cu o instrucțiune @import pe elementul <style>:
<!DOCTYPE html> < html > < head > ..... < style media = "toate" > @ import url ( stil . css ) ; </ style > </ head > </ html >
  • atunci când stilurile sunt declarate într-un document, acestea pot fi incluse în elementul <style>, care este, de fapt, inclus în elementul <head>:
<!DOCTYPE html> < html > < head > ..... < stil > corp { culoare : roșu ; } </ style > </ head > < body > ..... </ body > </ html >
  • când stilurile sunt descrise în corpul documentului, acestea pot fi localizate în atributele unui element separat
<!DOCTYPE> < html > < head > ..... </ head > < body > < p style = "font-size: 20px; color: green; font-family: arial, helvetica, sans-serif" > ..... </ p > </ body > </ html >

În primele două cazuri, stilurile externe sunt aplicate documentului , iar în al doilea, stilurile interne sunt aplicate .

Pentru a adăuga CSS la un document XML, acesta din urmă trebuie să conțină un link special către fișierul de stil:

<?xml-stylesheet type="text/css" href="style.css"?>

Reguli de construcție CSS

În primele trei cazuri de adăugare a stilurilor CSS la un document (vezi mai sus), fiecare regulă CSS din fișier are două părți principale - un selector și un bloc de declarație . Selectorul , situat în partea stângă a regulii înainte de „{”, determină la ce părți ale documentului (eventual marcate special) se aplică regula. Blocul de anunțuri este situat în partea dreaptă a regulii. Este plasat între paranteze și, la rândul său, constă din una sau mai multe declarații separate prin „;”. Fiecare declarație este o combinație de o proprietate CSS și o valoare separată de un „:”. Selectoarele pot fi grupate pe aceeași linie, separate prin virgule. În acest caz, proprietatea se aplică fiecăruia dintre ei.

selector , selector { proprietate: valoare ; proprietate: valoare ; proprietate: valoare ; }

În al patrulea caz de conectare a CSS la un document (vezi lista), regula CSS, care este valoarea atributului de stil al elementului căruia i se aplică, este o listă de declarații („ CSS property  : value ”) separate prin „ ;".

Tipuri de selectoare Selector universal * { margin : 0 ; umplutură : 0 _ } Selector de etichete p { font-family : arial , helvetica , sans-serif ; } Selector de clasă . note { color : red ; culoare de fundal : galben greutate font : bold ; } Selector de identificare # paragraf1 { margine : 0 ; } Selector de atribute a [ href = "http://www.somesite.com" ] { font-weight : bold ; } Selector descendent (selector de context) div # paragraful 1 p . nota { culoare : albastru ; } Selector de copii p . nota > b { culoare : verde ; } . div { chenar : 1 px roșu continuu ; umplutură - stânga : 20px } . titlu { font-size : 20 px ; culoare de fundal : roșu } Selectorul elementului frate h1 + p { dimensiunea fontului : 24 px ; } Selector de pseudo-clase a : activ { culoare : albastru ; } Selector de pseudo-element p :: prima literă { font-size : 32 px ; }

Clase și identificatori de elemente

O clasă sau un identificator poate fi atribuit unui element HTML prin atributele de clasă sau id ale elementului:

<!DOCTYPE html> < html > < head > < meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" > < title > Selectoare de clasă și ID </ title > < style > p . big { font-family : arial , helvetica , sans-serif ; culoare : roșu _ } div # first { culoare de fundal : argintiu ; } </ style > </ head > < body > < div id = "first" > <!-- Acesta este un div de fundal gri cu stilul id --> </ div > < p class = "big" > <! -- Acesta este text roșu --> </ p > </ body > </ html >

Principala diferență dintre clasele de elemente și identificatorii de elemente este că un identificator este pentru un singur element, în timp ce o clasă este de obicei atribuită mai multor elemente simultan. Cu toate acestea, browserele moderne tind să redeze corect mai multe elemente cu același ID. De asemenea, diferența este că pot exista mai multe clase (când clasa unui element constă din mai multe cuvinte separate prin spații). Acest lucru nu este posibil pentru identificatori.

Este important de remarcat următoarea diferență între un identificator și o clasă: identificatorii sunt utilizați pe scară largă în JavaScript pentru a găsi un element unic într-un document.

Numele claselor și identificatorii, spre deosebire de numele etichetelor și atributele acestora, sunt sensibile la majuscule și minuscule.

Proprietățile claselor și ale identificatorilor sunt setate folosind selectorii corespunzători. Mai mult, poate fi setat ca o proprietate a clasei ca întreg (în acest caz, selectorul începe cu „.”, de exemplu, „.big”) sau ca o proprietate a identificatorului însuși (în acest caz, selectorul începe cu „#”, de exemplu, „#first” ), și proprietatea unui element din această clasă sau cu acest identificator.

În CSS, pe lângă clasele definite de autorul paginii, există și un set limitat de așa-numitele pseudo -clase care descriu apariția hyperlink-urilor cu o anumită stare în document, aspectul elementului pe care introducerea este concentrat, și apariția elementelor care sunt primii copii ai altor elemente. Există, de asemenea, patru așa-numitele pseudo-elemente în CSS : prima literă, prima linie, aplicând stiluri speciale înainte și după element.

Moştenire. În cascadă. Priorități de stil CSS.

Aplicarea CSS la documentele HTML se bazează pe principiile moștenirii și cascadării . Principiul moștenirii este că proprietățile CSS declarate pe elementele strămoșilor sunt aproape întotdeauna moștenite de elementele descendente.

Principiul cascadării este utilizat atunci când mai multe reguli CSS sunt asociate cu un element HTML în același timp, adică atunci când există un conflict între valorile acestor reguli. Pentru a rezolva astfel de conflicte, sunt introduse reguli de prioritate.

  • Stilul browser are cea mai mică prioritate;
  • Următorul cel mai important este stilul stabilit de utilizatorul browserului în setările acestuia;
  • Iar stilul stabilit direct de autorul paginii are cea mai mare prioritate. Și mai departe, deja în stilul acestui autor, prioritățile sunt stabilite după cum urmează:
    • Stilurile pe care un element le moștenește de la strămoșii săi într-un document au cea mai mică prioritate;
    • Stilurile definite în foile de stil externe atașate documentului au o prioritate mai mare;
    • O prioritate chiar mai mare este acordată stilurilor setate direct de toate cele zece tipuri de selectoare (vezi subsecțiunea „Tipuri de selecție”) conținute în containerele de stil ale documentului. Nu este neobișnuit ca un element să fie legat, aspectul acestuia să fie specificat de mai mulți astfel de selectori. Asemenea conflicte între ele sunt rezolvate prin calcularea specificității fiecărui astfel de selector și aplicarea acelor selectori la elementul dat în ordinea descrescătoare a specificității lor. Calculul specificității va fi descris mai jos.
      • Specificitatea selectoarelor este împărțită în 4 grupuri - a, b, c, d:
        • dacă stilul este inline (definit ca style="...", atunci а=1, în caz contrar a=0);
        • valoarea beste egală cu numărul de identificatori (în caz contrar — id=" ", încep cu #) din selector;
        • valoarea ceste egală cu numărul de clase (class=" ", ele încep cu .), pseudoclase (încep cu :, de exemplu a:hover) și selectoare de atribute ( input[type="text");
        • valoarea deste egală cu numărul de selectoare de tip de element ( h1 { color: blue; }) și elemente de pseudo-cod ( p::first-line { color: blue; }). Valoarea rezultată este apoi convertită într-un număr (de obicei în zecimală). Un selector cu o valoare de specificitate mai mare are și o prioritate mai mare.
      • Tabel de calcul al specificității [1] :
Selector a, b, c, d Număr
span 0, 0, 0, 1 unu
div.clasa 0, 0, 1, 1 unsprezece
#id .clasa 0, 1, 1, 0 110
div span 0, 0, 0, 2 2
.clasă 0, 0, 1, 0 zece
#id span 0, 1, 0, 1 101
  • Însă, stilurile declarate de autorul paginii sau de utilizator , folosind regula de însoțire , au cea mai mare prioritate !important. Dacă există mai multe astfel de proprietăți, atunci se acordă preferință în primul rând stilurilor stabilite de autor sau utilizator , iar pentru proprietățile rămase, care vor fi stabilite de autorul paginii, va fi necesar să se determine specificul acestora în funcție de principiile descrise mai sus și aplică aceste proprietăți în ordinea descrescătoare a acestor specificități.

Exemplu de foaie de stil

Un exemplu de foaie de stil (în această formă, poate fi fie plasată într-un fișier .css separat, fie încadrată cu etichete <style>și plasată în „antetul” chiar paginii web pe care acționează):

p { font-family : arial , helvetica , sans-serif ; } h2 { dimensiunea fontului : 20 pt ; culoare : roșu _ fundal : alb _ } . note { color : red ; culoare de fundal : galben greutate font : bold ; } p # paragraf1 { padding-left : 10 px ; } a : hover { text-decoration : none ; } # știri p { culoare : albastru ; } [ tip = "buton" ] { culoare de fundal : verde ; }

Iată șapte reguli CSS cu selectoarele p, h2, .note, p#paragraph1, a:hoverși #news p.[type="button"]

  1. Prima regulă este atribuită unui element HTML p( paragraf ) - este atribuit stilul. Paragrafele vor fi afișate în Arial sau, dacă un astfel de font nu este disponibil, atunci Helvetica sau Sans-serif, în caz contrar, într-un alt font din această familie.
  2. A doua regulă este atribuită elementului HTML h2(titlu al doilea nivel). Al doilea nivel al titlului va fi afișat în roșu pe un fundal alb cu o dimensiune mărită .
  3. A treia regulă se va aplica oricărui element al cărui atribut classeste „notă”. De exemplu, la paragraful:<p class="note">Этот абзац будет выведен полужирным шрифтом красного цвета на жёлтом фоне. </p>
  4. A patra regulă se va aplica numai elementului pal cărui atribut ideste egal cu paragraph1. Un astfel de element va avea o umplutură interioară de 10 pixeli (padding).
  5. A cincea regulă definește stilul de trecere cu mousea -ul  pentru elementele hyperlink . În mod implicit , în majoritatea browserelor, textul elementelor este asubliniat. Această regulă va elimina sublinierea când cursorul mouse-ului se află peste aceste elemente.
  6. A șasea regulă se aplică elementelor pcare se află în interiorul oricărui element cu un atribut idegal cu „ news” (#news p este un caz tipic al unui selector de copii, consultați al 5-lea element din listă de mai sus ).
  7. A șaptea regulă se aplică tuturor elementelor care au un atribut typeegal cu button. De exemplu, această regulă va fi aplicată elementului <input type="button">sau <button type="button">Кнопка</button>(butonul normal), schimbându-i culoarea de fundal în verde.

Aspect CSS

Înainte de apariția CSS, stilul paginii web se făcea exclusiv în HTML , direct în conținutul unui document. Cu toate acestea, odată cu apariția CSS, a devenit posibilă separarea fundamentală a conținutului și a prezentării unui document. Datorită acestei inovații, a devenit posibil să se aplice cu ușurință un singur stil de design pentru o masă de documente similare, precum și să se schimbe rapid acest design.

Avantaje:

  • Modele de pagini multiple pentru diferite dispozitive de vizualizare. De exemplu, pe un ecran, designul va fi proiectat pentru o lățime mare, în timpul imprimării, meniul nu va fi afișat, iar pe un PDA și telefon mobil, meniul va urma conținutul.
  • Reducerea timpului de încărcare a paginilor site-ului prin transferul regulilor de prezentare a datelor într-un fișier CSS separat. În acest caz, browserul descarcă doar structura documentului și datele stocate pe pagină, iar reprezentarea acestor date este descărcată de browser o singură dată și poate fi stocată în cache .
  • Ușurința modificărilor ulterioare de proiectare. Nu trebuie să editați fiecare pagină, doar să schimbați fișierul CSS.
  • Opțiuni suplimentare de design. De exemplu, folosind aspectul CSS, puteți face un bloc de text pe care restul textului îl va înfășura (de exemplu, pentru un meniu) sau puteți face meniul mereu vizibil atunci când derulați pagina.

Defecte:

  • Aspecte de afișare diferite în browsere diferite (în special cele mai vechi) care interpretează în mod diferit aceleași date CSS.
  • În practică, este adesea necesar să se repare nu numai un singur fișier CSS, ci și etichetele HTML care sunt asociate selectoarelor CSS într-un mod complex și intangibil, ceea ce uneori anulează ușurința aplicării fișierelor cu un singur stil și crește semnificativ timpul de editare și testare.

Istoria creării și dezvoltării CSS

CSS este una dintr-o gamă largă de tehnologii aprobate de W3C și denumite în mod colectiv „standarde web” [2] . În anii 1990, nevoia de a standardiza Web-ul a devenit clară, de a crea un fel de reguli uniforme prin care programatorii și designerii web să proiecteze site-uri. Așa au apărut limbajele HTML 4.01 și XHTML și standardul CSS.

La începutul anilor 1990, diferite browsere aveau propriile lor stiluri de afișare a paginilor web. HTML s-a dezvoltat foarte repede și a reușit să satisfacă toate nevoile de proiectare a informațiilor care existau la acea vreme, astfel încât CSS nu a primit o mare acceptare în acel moment.

Termenul Cascading Style Sheets a fost inventat de Haakon Lee în 1994. Împreună cu Bert Bos, a început să dezvolte CSS.

Spre deosebire de multe limbaje de stil care existau la acea vreme, CSS folosește moștenirea de la părinte la copil, astfel încât un dezvoltator poate defini diferite stiluri pe baza stilurilor deja definite.

La mijlocul anilor 1990, World Wide Web Consortium ( W3C ) a început să manifeste interes pentru CSS, iar în decembrie 1996 a fost emisă recomandarea CSS1.

Nivelul 1 (CSS1)

Recomandarea W3C, adoptată la 17 decembrie 1996 , modificată la 11 ianuarie 1999 [3] . Printre caracteristicile oferite de această recomandare:

  • Opțiuni de font. Abilitatea de a seta fontul și dimensiunea fontului, precum și stilul acestuia - obișnuit, cursiv sau aldine.
  • Culori. Specificația vă permite să definiți culorile pentru text, fundaluri, margini și alte elemente ale paginii.
  • atributele textului. Abilitatea de a seta spațierea dintre caractere, spațierea cuvintelor și înălțimea liniei (adică indentări ale liniilor)
  • Aliniere pentru text, imagini, tabele și alte elemente.
  • Proprietăți de bloc, cum ar fi înălțimea, lățimea, umplutura ( ) și umplutura padding( margin) și chenarele. De asemenea, specificația includea mijloace limitate pentru poziționarea elementelor, cum ar fi floatși clear.

Nivelul 2 (CSS2)

Recomandarea W3C, adoptată la 12 mai 1998 [4] . Bazat pe CSS1, menținând în același timp compatibilitatea cu câteva excepții. Adăugarea la funcționalitate:

  • Aspect bloc. A apărut poziționarea relativă, absolută și fixă. Vă permite să controlați plasarea elementelor pe pagină fără aspect tabelar .
  • Tipuri media. Vă permite să setați diferite stiluri pentru diferite medii (de exemplu , monitor , imprimantă , PDA ).
  • Foi de stil de sunet. Specifică vocea, volumul etc. pentru media audio (de exemplu, pentru vizitatorii nevăzători ai site-ului).
  • media paginii. Permite, de exemplu, setarea unor stiluri diferite pentru elementele de pe paginile pare și impare atunci când sunt imprimate.
  • Mecanism avansat de selectoare.
  • Indicatori.
  • Conținut generat. Vă permite să adăugați conținut care nu se află în documentul sursă înainte sau după elementul dorit.

W3C nu mai acceptă CSS2 și recomandă utilizarea CSS2.1

Nivelul 2 revizuirea 1 (CSS2.1)

Recomandarea W3C, adoptată la 7 iunie 2011 .

CSS2.1 se bazează pe CSS2. Pe lângă remedierea erorilor, unele părți ale specificației au fost modificate în noua versiune, iar unele[ ce? ] și complet eliminat. Părțile eliminate pot fi adăugate la CSS3 în viitor.

Nivelul 3 (CSS3)

CSS3 ( în engleză  Cascading Style Sheets 3  - cascading style sheets of the three generation ) este o specificație CSS dezvoltată activ . Este un limbaj formal implementat folosind un limbaj de marcare . Cea mai mare revizuire în comparație cu CSS1, CSS2 și CSS2.1. Caracteristica principală a CSS3 este capacitatea de a crea elemente animate fără utilizarea JS [5] , suport pentru gradienți liniari și radiali, umbre, netezire și multe altele.

Este folosit în primul rând ca mijloc de descriere și de stilare a aspectului paginilor web scrise folosind limbajele de marcare HTML și XHTML , dar poate fi aplicat și oricăror documente XML , cum ar fi SVG sau XUL .

Versiunea de dezvoltare (lista tuturor modulelor) [6] .

Spre deosebire de versiunile anterioare, specificația este împărțită în module, a căror dezvoltare și dezvoltare se realizează independent. CSS3 se bazează pe CSS2.1, sporind proprietățile și valorile existente și adăugând altele noi.

Inovații, începând cu colțurile mici, precum colțurile rotunjite ale blocurilor, terminând cu transformarea ( animație ) și, eventual, introducerea de variabile [7] [8] .

Nivelul 4 (CSS4)

Dezvoltat de W3C din 29 septembrie 2011 [9] [10] .

Modulele CSS4 se bazează pe CSS3 și le adaugă noi proprietăți și valori. Toate există până acum sub formă de proiecte (working draft).

De exemplu:

Suport pentru browser CSS

Cele mai care acceptă standardul CSS sunt browserele care rulează pe motoarele Gecko ( Mozilla Firefox etc.), WebKit ( Safari , Arora , Google Chrome ) și Presto (Opera) [11] .

Fostul browser cel mai utilizat [12] Internet Explorer 6 nu acceptă complet CSS [13] .

Lansat șapte ani mai târziu, Internet Explorer 7 a îmbunătățit semnificativ nivelul de suport CSS [14] [15] , dar încă conținea un număr semnificativ de erori [16] .

Internet Explorer 8 folosește un nou motor care acceptă complet CSS 2.1 și acceptă parțial CSS 3 [17] .

Pentru a testa compatibilitatea browserului pentru standardele web, inclusiv diferite părți ale standardului CSS, a fost dezvoltat testul Acid .

Diverse modele de bloc

Standardele CSS din W3C folosesc un model în care o proprietate widthdefinește lățimea conținutului casetei fără a include umplutură sau chenare. Versiunile timpurii ale Internet Explorer (4 și 5) au implementat propriul model în care lățimea definește distanța dintre chenarele casetei, inclusiv umplutura ( padding) și chenarele ( border). Pe lângă Internet Explorer 5, acest model este înțeles și de browserele Netscape 4 și Opera 7. Suportul pentru modelul standard W3C a apărut doar în IE în a șasea versiune.

Viitorul standard CSS3 a introdus o proprietate box-sizingcu valori content-boxpentru a indica utilizarea modelului standard W3C și border-boxpentru a utiliza modelul IE 5 pentru a rezolva această problemă.

În browserul Mozilla , cu suportul acestei proprietăți, sub propriul nume „de lucru” -moz-box-sizing, a fost introdusă o altă valoare - padding-box, creând astfel un al treilea model de casetă, în care width este dimensiunea conținutului și indentările blocului, fără a include și cadru.

Filtre CSS

Diferențele în implementarea CSS de către diferite browsere obligă dezvoltatorii web să caute soluții pentru a face ca toate browserele să redea pagina în același mod. Filtrele CSS (denumite adesea și hack-uri CSS) vă permit să aplicați în mod selectiv stiluri diferitelor elemente. De exemplu, se știe că Internet Explorer 6 impune reguli care utilizează selectoare de vizualizare (un filtru cunoscut sub numele de „ stear html bug ”). Pentru ca modelul de cutie W3C și IE care rulează în modul Quirks să afișeze o casetă lată de 100 px cu umplutură de 10 px, puteți scrie cod astfel: * html селектор#someblock

/* Model W3C - 80px lățime de conținut și 10px padding pe fiecare parte */ # someblock { width : 80 px ; umplutură : 10px _ _ } /* Următoarea regulă se va aplica numai pentru IE6. */ * html # someblock { lățime : 100 px ; umplutură : 10px _ _ }

O altă modalitate de a aplica în mod selectiv regulile pentru Internet Explorer sunt comentariile condiționate .

Securitate

Toate versiunile de Internet Explorer suportate în 2010 erau vulnerabile: atunci când browserul procesează stiluri în cascadă (CSS), poate apărea memorie neinițializată, care este ulterior folosită pentru a lansa de la distanță cod rău intenționat pe computerul utilizatorului [18] .

Cadrul CSS

CSS Framework (de asemenea, Web design framework ) este o bibliotecă CSS pre-preparată creată pentru a simplifica munca designerului de layout, a accelera dezvoltarea și a elimina numărul maxim posibil de erori de layout (probleme de compatibilitate între diferite versiuni de browser etc.). La fel ca bibliotecile de limbaje de programare de scripting, cadrele CSS, de obicei sub forma unui fișier .css extern, sunt „conectate” la proiect (adăugate la antetul paginii web), permițând unui programator sau designer fără experiență în complexitatea layout pentru a crea corect un layout html.

Extensii CSS

Adesea, atunci când așezați pagini, trebuie să utilizați aceeași valoare de mai multe ori: aceeași culoare, același font. Și dacă această valoare trebuie schimbată, atunci va trebui schimbată în multe locuri.

Pentru a rezolva aceste probleme și pentru a accelera dezvoltarea, există mai multe extensii (preprocesoare) ale limbajului CSS. Extensii în sensul că codul CSS este cod valid pentru o extensie, dar nu invers. Pentru ca codul „CSS extins” să se transforme într-un fișier CSS obișnuit, care este perceput de browser, trebuie să îl compilați. Compilarea poate fi de mai multe tipuri:

  • în timpul lansării paginii pe partea client (folosind JavaScript )
  • în timpul pornirii paginii pe partea serverului
  • în timpul amenajării site-ului folosind un compilator special

Exemple de extensii CSS (preprocesoare):

Vezi și

Note

  1. McFarland, 2017 , p. 126.
  2. Dave Shea, Molly E. Holtzschlag. Filosofia designului CSS. / Per. din engleza. A. Slinkina. — M.: NT Press, 2005. — 312 p.: ill.
  3. Foi de stil în cascadă, nivelul 1 . Consultat la 16 iunie 2006. Arhivat din original pe 9 februarie 2011.
  4. Cascading Style Sheets, level 2 CSS2 Specification . Data accesului: 9 martie 2011. Arhivat din original pe 16 ianuarie 2011.
  5. Animație CSS3 simplă cu Animate.css . Preluat la 18 septembrie 2018. Arhivat din original la 18 septembrie 2018.
  6. W3C : CSS: lucrare curentă Arhivat 3 martie 2011 la Wayback Machine , CSS 3 etc.
  7. CSS3: variabilele css sunt o idee proastă. Doar permiteți-ne să apelăm alți selectori. Arhivat pe 2 ianuarie 2010 la Wayback Machine // Rip's Domain
  8. Variabile CSS Arhivate 5 aprilie 2010 la Wayback Machine // dave-woods.co.uk
  9. Selectoare Nivelul 4 (downlink) . W3.org (29 septembrie 2011). Arhivat din original la 30 mai 2012. 
  10. Descoperiți Ce este nou în CSS 4 | webmonkey | Wired.com (link indisponibil) . Webmonkey (26 octombrie 2011). Arhivat din original la 30 mai 2012. 
  11. Suport standard de browser web . Consultat la 11 ianuarie 2008. Arhivat din original la 14 aprilie 2020.
  12. Cota de utilizare globală a Mozilla Firefox este încă în creștere, conform OneStat.com . Consultat la 11 ianuarie 2008. Arhivat din original la 26 februarie 2021.
  13. Compatibilitate cu conținut și browser . Data accesului: 11 ianuarie 2008. Arhivat din original la 11 ianuarie 2008.
  14. Detalii despre modificările noastre CSS pentru IE7 Arhivat 30 iulie 2008 pe Wayback Machine IEBlog
  15. Compatibilitate cu foile de stil în cascadă în Internet Explorer 7 Arhivat la 1 februarie 2008 la Wayback Machine MSDN
  16. Lumea ciudată și minunată a Internet Explorer (downlink) . Data accesului: 11 ianuarie 2008. Arhivat din original la 13 ianuarie 2008. 
  17. Compatibilitate CSS și Internet Explorer Arhivat 29 decembrie 2010 la Wayback Machine MSDN
  18. Microsoft: Toate versiunile de Internet Explorer vulnerabile la hackeri . Consultat la 2 ianuarie 2011. Arhivat din original pe 3 ianuarie 2011.

Literatură

  • David Sawyer McFarland. Noua carte mare CSS = CSS: Manualul lipsă. - Sankt Petersburg: Piter , 2017. - 720 p. - 1000 de exemplare.  - ISBN 978-5-496-02080-0 .
  • Ed Tittel, Jeff Noble. HTML, XHTML și CSS pentru manechin, ediția a 7-a = HTML, XHTML și CSS pentru manechin, ediția a 7-a. - M . : „Dialectică” , 2011. - 400 p. - ISBN 978-5-8459-1752-2 .
  • Stephen Schafer. HTML, XHTML și CSS. Biblia utilizatorului, ediția a 5-a = Biblia HTML, XHTML și CSS, ediția a 5-a. - M . : „Dialectica” , 2011. - 656 p. - ISBN 978-5-8459-1676-1 .

Link -uri

Resurse în limba engleză

Resurse în limba rusă