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 .
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 . .
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:
Î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"?>Î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 ; }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.
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.
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 |
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"]
Î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:
Defecte:
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.
Recomandarea W3C, adoptată la 17 decembrie 1996 , modificată la 11 ianuarie 1999 [3] . Printre caracteristicile oferite de această recomandare:
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:
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.
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] .
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:
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 .
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.
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 .
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] .
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.
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:
Exemple de extensii CSS (preprocesoare):
Limbi pentru foile de stil ( compara , list ) | |
---|---|
Moduri |
|
Standard | |
non-standard |
|
Consorțiul World Wide Web (W3C) | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Produse și standarde |
| ||||||||||||||
Organizații |
| ||||||||||||||
PE |
| ||||||||||||||
Conferințe |
|
Web și site-uri web | |
---|---|
la nivel global | |
La nivel local | |
Tipuri de site-uri și servicii |
|
Creare si intretinere | |
Tipuri de machete, pagini, site-uri | |
Tehnic | |
Marketing | |
Societate și cultură |
Foi de stil în cascadă | |
---|---|
css |
|
Comparaţie |
|
web design |
|
Foi de stil în cascadă |