Rozbudowa | .css |
---|---|
Typ MIME | text/css |
Opracowany przez | Grupa Robocza CSS ( w ) |
Początkowa wersja | 17 grudnia 1996 r. |
Strony internetowe |
www.w3.org/Style/CSS drafts.csswg.org |
W kaskadowe arkusze stylów , powszechnie zwane CSS of English kaskadowych arkuszy stylów , tworząc język komputerowy , który opisuje sposób prezentacji dokumentów HTML i XML . Te standardy definiujące CSS są publikowane przez World Wide Web Consortium (W3C). Wprowadzony w połowie lat 90. CSS stał się szeroko stosowany w projektowaniu stron internetowych i był dobrze obsługiwany przez przeglądarki internetowe w 2000 roku .
Koncepcja arkusza stylów była obecna od początków sieci WWW : pierwsza przeglądarka internetowa WorldWideWeb umożliwia formatowanie dokumentów przy użyciu tego, co dziś można by uznać za „arkusz stylów użytkownika”. Podobnie przeglądarki Viola z 1992 roku i Harmony z 1993 roku używają podobnego mechanizmu do określania renderowania czcionek , kolorów lub wyrównania tekstu.
Nie są to jednak style określone przez autora dokumentu. W HTML również brakowało elementów prezentacji we wczesnych latach, więc rosła presja na przeglądarki, aby umożliwić autorom samodzielne określanie układu stron internetowych , w podejściu wywodzącym się z publikacji w formie elektronicznej .
To właśnie w tym kontekście, w latach 1994 - 1995 zupełnie nowy Netscape Navigator wprowadził pierwsze elementy prezentacji HTML z inicjatywy Marca Andreessena , podczas gdy pierwsze propozycje stylów zewnętrznych pojawiły się równolegle:
Pojawienie się CSS jest odpowiedzią na chęć „zaoferowania alternatywy dla ewolucji HTML z języka strukturyzowania do języka prezentacji”.
W tym samym czasie otwarta była również trzecia ścieżka rozwoju: opracowany przez Jamesa Clarka język transformacji DSSSL dokumentów SGML sugeruje możliwość istnienia języka stylów, który nie tylko jest opisowy, ale zbliża się do prawdziwego języka programowania . Tą ścieżką podąża Netscape, który w 1996 roku zaproponował W3C „Stylowe arkusze JavaScript” (JSSS), zaimplementowany przez Netscape Navigator 4 w 1997 roku .
Początki CSS są zatem powiązane z trzema głównymi możliwościami:
Pierwsze zaproponowane kaskadowe arkusze stylów HTML stworzone przez Håkona Wium Lie przyciągnęły uwagę Dave'a Raggetta , który był wówczas głównym redaktorem proponowanej specyfikacji HTML 3.0. Zwolennik czysto strukturalnego HTML, zachęcał do publikacji dokumentu roboczego CHSS, aby można było go zaprezentować i omówić na drugiej międzynarodowej konferencji na temat WWW ( Mosaic and the Web , Chicago, 1994). Zmodyfikował również przeglądarkę Håkon Lie the Arena , aby przetestować ten język i zademonstrował go na trzeciej konferencji WWW w 1995 roku.
W tym samym czasie Bert Bos , który w tym czasie pracował nad przeglądarką Argo i który przesłał własną „ Propozycję arkusza stylów opartą na strumieniu ” (SSP) do W3C , postanowił połączyć swoje wysiłki z tymi Håkona Lie. SSP, który został opracowany z myślą o zastosowaniu nie tylko do HTML, ale także do innych języków znaczników, Bert Bos i Håkon Lie podejmują ten cel i czynią z niego jedną z kluczowych cech tego, co następnie staje się właściwie powiedzianym CSS.
Inny aspekt CSS jest zatem decydujący w obliczu istniejących alternatyw: CSS jest pierwszym językiem, który zawiera ideę „kaskadowego” ( kaskadowego arkusza stylów ), to znaczy możliwość, aby styl „dokumentu był odziedziczone z wielu „arkuszy stylów”. Pozwala to na arbitralne rozstrzyganie pomiędzy kilkoma konkurującymi źródłami formatowania elementu, a tym samym odpowiada na potrzebę komponowania pomiędzy preferencjami stylistycznymi autorów i użytkowników.
World Wide Web Consortium (W3C) rozpoczęła działalność w 1995 roku, a lista dyskusyjna www-styl został utworzony. W tym samym roku odbyły się w Paryżu „Warsztaty arkuszy stylów W3C” decydujące o przyszłości CSS. W szczególności potwierdza chęć utrzymania arkuszy stylów w prostej formie, co wyklucza hipotezę JSSS firmy Netscape. Ponadto, Thomas Reardon (Microsoft) ogłasza przyszłe wsparcie CSS w przyszłych wersjach Internet Explorera : dlatego, gdy W3C tworzy pod koniec roku „ HTML Editorial Review Board ” (HTML ERB) w celu ratyfikacji przyszłego HTML, Specyfikacje DOM i CSS, Netscape, reprezentowany przez Lou Montulli , w końcu dołącza do projektu CSS kierowanego przez Berta Bosa i Håkona Lie.
W przeciwieństwie do oprogramowania specyfikacje CSS nie są opracowywane w kolejnych wersjach, które pozwalałyby przeglądarce na odwołanie się do konkretnej wersji. CSS jest rozwijany przez „poziomy”, które zmuszają każdy nowy poziom do zintegrowania poprzedniego, a każda implementacja jest zgodna z poprzednim: CSS1 jest zatem rozwijany jako podzbiór CSS2, który sam jest rozwijany jako podzbiór CSS3. To częściowo wyjaśnia powolność normatywnego postępu CSS.
Ostateczna specyfikacja CSS1 została opublikowana 17 grudnia 1996 roku i zdefiniowała około pięćdziesięciu właściwości. CSS1 jest zdefiniowany jako „prosty mechanizm arkuszy stylów, umożliwiający autorom i czytelnikom dołączanie stylów (…) do dokumentu HTML”. Ta prostota przekłada się na wybór języka, który może być łatwo odczytywany i pisany bezpośrednio przez użytkowników, oraz terminologii zgodnej z powszechnymi zastosowaniami w publikacji komputerowej. Ewentualny wybór wyrażenia CSS w składni XML lub SGML, regularnie wspominany w celu uniknięcia implementacji nowego trybu analizy składniowej, jest zatem definitywnie wykluczony.
CSS1 nie tylko opisuje swoją własną gramatykę : ten pierwszy poziom rzeczywiście opisuje gramatykę mającą na celu umożliwienie kolejnym poziomom dodawania nowych funkcjonalności, jednocześnie umożliwiając czytanie tych przyszłych arkuszy stylów przez oryginalne implementacje. Te nowe funkcje nie zostaną zrozumiane przez oryginalne implementacje, ale mogą być zidentyfikowane jako takie i zignorowane. CSS gwarantuje w ten sposób jego wsteczną kompatybilność .
CSS1 zasadniczo definiuje typograficzne właściwości renderowania tekstu: czcionki (czcionki), kolor, rozmiar czcionki, wagę , odstępy, granice i zarządzanie znacznikami listy.
W związku z tym nie ma jeszcze kwestii „układu”: właściwość float, która będzie później szeroko wykorzystywana do ogólnego układu CSS projektów stron internetowych, jest wtedy pomyślana tylko jako sposób na umieszczenie lokalnie, obok niej, niewielkiej części treść, taką jak obraz, i pozostałą część tekstu. Biorąc pod uwagę problematyczne implementacje CSS1, przejęcie elementu HTML w tablecelu obsługi ogólnego układu pozostaje obecnie najczęstszym rozwiązaniem dla autorów treści internetowych.
W 1996 roku Internet Explorer 3.0 był pierwszą komercyjną przeglądarką, która częściowo zaimplementowała CSS, gdy jest jeszcze w fazie tworzenia. Ta wczesna implementacja, prowadzona przez Chrisa Wilsona, nie odpowiada ostatecznej specyfikacji. W 1997 roku w Internet Explorerze 4.0 narodził się nowy silnik renderujący , Trident , będący początkiem rosnącej, ale problematycznej obsługi CSS w różnych wersjach tej przeglądarki w systemie Windows, włącznie z Internet Explorer 7 .
Netscape Navigator 4.0 poszedł w jego ślady w 1997 roku, pomimo swojej historycznej niechęci do CSS: w kontekście wojen przeglądarek najważniejsze było to, aby Microsoft nie był w stanie twierdzić, że jest najbardziej zgodną przeglądarką. Jednak ta pospieszna implementacja, oparta na wewnętrznych metodach JavaScript , ostatecznie okazuje się ograniczona i bardzo zawodna. Netscape Navigator 4.0 oferuje również implementację JSSS, która nie zostanie zauważona. Będziemy musieli poczekać, aż nowy silnik renderujący Gecko z projektu Mozilla osiągnie prawdziwą implementację CSS1.
W 1998 roku, kiedy wojna przeglądarek między Netscape i Microsoftem dobiegła końca, Opera 3.5, której w międzyczasie Håkon Lie został dyrektorem technicznym, osiągnęła pełniejszą implementację CSS1, dzięki opublikowaniu pierwszego „Zestawu testowego”. for Cascading Style Sheets (CSS) Level 1 ”stworzony głównie przez Erica Meyera dla W3C. Obecność tych zestawów testów okazuje się być dużą zaletą zarówno w przypadku implementacji w przeglądarkach, jak i przyswajania technik CSS przez autorów (poprzez podanie szczegółowych przykładów właściwości i ich wartości).
Wreszcie, pod przewodnictwem Tanteka Çelika , Internet Explorer 5.0 dla Macintosh uruchomiony w marcu 2000 , oparty na Tasman , specyficznym silniku renderującym niepowiązanym z Tridentem, jest pierwszą przeglądarką, która w pełni (ponad 99%) obsługuje CSS1. Aby zapewnić zgodność z poprzednimi praktykami kodowania specyficznymi dla każdej implementacji („zupa tagów”) i umożliwić prawidłowe wyświetlanie dokumentów internetowych, niezależnie od tego, czy przestrzegają one standardów CSS i HTML, czy nie, jest również pierwszym, który zaimplementował technikę przełączania doctype . Później przyjęta przez wszystkie przeglądarki, stała się później jednym z kluczy do progresywnej implementacji CSS: rzeczywiście pozwala przeglądarce zachować stare zastrzeżone implementacje ze względu na kompatybilność, jednocześnie mając możliwość wyboru, zgodnie ze składnią deklaracji typu dokumentu strony, dla trybu renderowania zgodnego z nowymi standardami implementacji.
W tym okresie późnych lat 90. projektowanie stron internetowych było uzależnione przede wszystkim od wykorzystania HTML jako formatu prezentacji. Klęska Netscape pod koniec wojen przeglądarek, odnowienie, które nastąpiło dzięki projektowi Mozilla, pojawienie się IE5 Mac i, w mniejszym stopniu, ewolucja Internet Explorera Windows 5.x, jednak na początku 2000 roku , rozpoczął się nowy etap ewolucji praktyk projektowania witryn internetowych przez autorów: przeglądarki te rzeczywiście umożliwiają pokazanie, że historyczne praktyki z czasów wojen przeglądarkowych, łączące strukturę i prezentację, można faktycznie porzucić na rzecz podejścia oparte na arkuszach stylów i ogólnie poszanowaniu standardów internetowych (w sensie HTML i CSS). Jeffrey Zeldman , współzałożyciel Web Standards Project i założyciel A List Apart (w) w 1998 roku, pojawia się wtedy jako symboliczna postać tego ruchu promującego standardy . Jest także inspiracją do „hybrydowego” podejścia projektowego, wykorzystującego techniki CSS, pozostając tymczasowo w ramach formatowania dokumentów na podstawie tabel prezentacyjnych.
CSS2, pospieszne ambicjeAby sprostać potrzebom, których pierwsza specyfikacja CSS1 jeszcze nie pokrywała, CSS został przydzielony w 1997 roku do nowej grupy roboczej w ramach W3C, kierowanej przez Chrisa Lilleya . W 2007 roku w tej grupie znaleźli się przedstawiciele Apple , Google , IBM , Microsoft , Adobe , Mozilla Foundation i Opera .
Wydany jako zalecenie w maju 1998 , drugi poziom CSS znacznie rozszerza teoretyczne możliwości kaskadowych arkuszy stylów, w szczególności o około 70 dodatkowych właściwości. Oprócz typograficznego formatowania tekstu zainicjowanego przez CSS1:
Jednak to funkcjonalne bogactwo spotyka się tylko z ograniczonym echem w jego implementacjach:
Wymieniono kilka przyczyn wyjaśniających te trudności i powolność implementacji CSS2:
Informacje zwrotne z implementacji CSS2 doprowadziły grupę roboczą W3C CSS do napisania od 2001 roku poprawionej wersji CSS 2.1 („ CSS Level 2, Revision 1 ”), na podstawie tego, co faktycznie zostało przyjęte przez różne przeglądarki. Cele tego przeglądu to:
CSS 2.1 koryguje CSS2 w wielu szczegółach, usuwa niektóre sekcje w całości lub w części (style wokalne zdefiniowane w typie mediów „ aural ”, style drukowania, czcionki do pobrania, z których bardziej przekonujące definicje są odrzucane na przyszłość CSS3) i wyjaśnia to na podstawie ustaleń zaktualizowanych podczas wdrożeń (zaawansowane zarządzanie blokami pływającymi poprzez „konteksty formatowania”).
Po wypróbowaniu 8 kolejnych wersji, CSS 2.1 jest w lipcu 2007 rekomendacją kandydata, czyli standardem, którego muszą przestrzegać implementacje.
W 2007 r. żadna przeglądarka nie zakończyła integracji CSS 2.1: zostałaby ona zaimplementowana w 56% w Internet Explorerze 7, w 91% w Firefoksie 2 i w 94% w Operze 9. Ponadto tylko część przeglądarek graficznych pomyślnie przeszedł lub utrzymał jako cel test Acid2 , uruchomiony w 2005 roku przez Web Standards Project , z inicjatywy Håkon Lie, w szczególności w celu promowania implementacji wybranych funkcjonalności CSS 2.1 uznanych za główny niezbędny postęp: pozycjonowanie elementy podczas wyświetlania, uogólnienie modelu renderowania tabeli na wszystkie elementy, treści generowane przez CSS. Profesjonalne wykorzystanie CSS ogranicza się zatem do arbitralnego podzbioru, określonego przez wspólne implementacje.
Rozwój trzeciego poziomu kaskadowych arkuszy stylów rozpoczął się już w 1999 roku wraz z CSS 2.1.
CSS3 staje się „modułowy”, aby ułatwić jego aktualizacje, ale także jego implementację przez programy użytkownika o coraz bardziej zróżnicowanych możliwościach i potrzebach (przeglądarki graficzne, przeglądarki mobilne, przeglądarki głosowe). Przeglądarki mogą więc implementować podzbiory CSS3.
Dlatego stopień zaawansowania CSS3 różni się w zależności od modułów i stopnia priorytetu nadanego im przez grupę roboczą CSS. W 2007 roku najbardziej zaawansowane moduły (rekomendacje kandydatów) dotyczą:
W innych przypadkach moduły mogą osiągnąć etap rekomendacji kandydata, ale następnie zostaną przywrócone do etapu dokumentu roboczego z powodu trudności zaktualizowanych po wezwaniu do wdrożenia. Tak jest na przykład w przypadku modułu typografii „CSS Text”.
Podobnie implementacje różnią się w zależności od strategii i potrzeb różnych przeglądarek:
Holenderski programista Jori Koolstra zaproponował w 2002 roku pojęcie dynamicznych kaskadowych arkuszy stylów .
Niektórzy członkowie grupy roboczej CSS, a także twórcy stron internetowych podnieśli kwestię powolnego postępu CSS3:
W 2008 roku żaden moduł nie został uznany przez W3C za ukończony, dlatego implementacja w przeglądarkach jest marginalna, często jako test, podobnie jak funkcje -moz-xxx silnika Gecko , których prefiks ogranicza użycie tylko do przeglądarek opartych na Gecko.
Pisanie czwartego poziomu kaskadowych arkuszy stylów rozpoczyna się w 2010 roku, wraz z modułami CSS 3.
Niektóre moduły, które są zamrożone lub są w trakcie zamrożenia, uruchamiane są wersje robocze, aby nadal rozszerzać możliwości tych ostatnich. Praca jest zatem wykonywana dodatkowo w stosunku do poprzedniej warstwy, a nawet poprzez pobranie dolnej warstwy za selektory.
Jednym z głównych celów CSS jest umożliwienie formatowania poza dokumentami. Możliwe jest na przykład opisanie tylko struktury dokumentu w HTML i opisanie całej prezentacji w osobnym arkuszu stylów CSS. Style są stosowane w ostatniej chwili, w przeglądarce internetowej odwiedzających przeglądających dokument. Ta separacja zapewnia szereg korzyści, umożliwiając poprawę dostępności , łatwiejszą zmianę prezentacji oraz zmniejszenie złożoności architektury dokumentu.
Dlatego zalety arkuszy stylów są wielorakie:
CSS pozwala zdefiniować renderowanie dokumentu zgodnie z mediami renderowania i jego możliwościami (rodzaj monitora lub urządzenia głosowego ), możliwościami przeglądarki ( tekst lub grafika), a także preferencjami jego użytkownika.
Arkusze stylów mogą być zróżnicowane dla następujących mediów, zgodnie z CSS2.1:
Inne rodzaje nośników są teoretycznie przewidziane w specyfikacji CSS2.1, ale nie są implementowane przez programy użytkownika: brailleoraz embosseddla tabletów i drukarek brajlowskich, a także ttydla teledrukarek .
W każdym medium style prezentacji określone przez autora dokumentu są łączone z domyślnymi ustawieniami agenta użytkownika oraz wynikami z preferencji użytkownika i jego osobistej konfiguracji.
Możliwości odbiornika mogą być brane pod uwagę przez autorów, przeznaczone dla programów użytkownika implementujących moduł CSS3 „ media query ”: pozwala to uzależnić uwzględnienie arkusza stylów od ograniczeń dotyczących w szczególności rozdzielczości lub możliwość przywrócenia kolorów.
Kaskada stylów„Kaskada” to połączenie różnych źródeł stylów zastosowanych do tego samego dokumentu, zgodnie z ich odpowiednim stopniem ważności. Można łączyć różne tryby kaskadowe:
Odwzorowanie stylowego dokumentu zależy od koncepcji pudełka i przepływu. Silnik renderujący CSS tworzy „strukturę formatowania” odzwierciedlającą logiczne drzewo dokumentu . Każdy element tej struktury generuje jedną lub więcej stref wyposażonych w konfigurowalne właściwości wyświetlania lub renderowania mowy. Wyświetlanie lub odczyt odbywa się z przepływu pól kolejno generowanych dla każdego elementu, który pojawia się w liniowej kolejności struktury formatującej.
W zależności od przypadku te różne rodzaje pudełek:
Charakterystyki stosowane w boksach CSS są wyrażone w postaci par propriété: valeur.
Właściwości są oznaczane za pomocą angielskich słów narzędzi, takich jak „ szerokość ”, „ rozmiar czcionki ” lub „ głośność ”.
Wartości mogą być, w zależności od przypadku, wyrażone za pomocą jednostek standaryzowanych gdzie indziej lub słów kluczowych specyficznych dla CSS. Na przykład kolor tła lub tekstu można wyrazić za pomocą modelu RGB lub słów kluczowych czarny, niebieski, fuksja itp.
Właściwości CSS zostały ustalone w oparciu o kompromis między dwoma przeciwstawnymi ograniczeniami: ułatwienie programom użytkownika czytania arkuszy stylów poprzez pomnożenie poszczególnych właściwości lub ułatwienie ich pisania przez autorów przy użyciu mniejszej liczby połączonych właściwości. Na przykład położenie obrazu tła jest określane przez pojedynczą właściwość ( background-position), łączącą wartości odciętej i rzędnej, a nie przez dwie oddzielne właściwości. Podobnie istnieją skrócone właściwości, które pozwalają autorom uprościć pisanie serii właściwości: skrót fontumożliwia na przykład podsumowanie w jednej regule wszystkich właściwości czcionki, rozmiaru, wysokości linii, wielkości liter, grubości i kursywy. Jednak użycie znaku „/” znacznie komplikuje parsowanie arkuszy stylów przez programy użytkownika.
Selektory i bloki regułWłaściwości są pogrupowane według bloków reguł oddzielonych nawiasami klamrowymi {}. Każdy blok jest poprzedzony selektorem określającym elementy konstrukcyjne, do których należy zastosować dane właściwości:
/*Je suis un commentaire qui commente le code et qui ne fait rien*/ body { /*Couleur de fond : */ background-color: green; } p { /*Couleur du texte : */ color: red; /*Taille du texte en px (pixel) : */ font-size: 20px; } button { /*Contour : */ outline: none; /*Bordure*/ border: none; /*Couleur de fond : */ background-color: black; /*Couleur de texte : */ color: white; } /*Hover veut dire au survol d'un bouton*/ button:hover { /*Couleur de fond : */ background-color: green; } /*Selection veut dire à la selection du texte*/ *::selection { /*Couleur de fond : */ background-color: black; /*Couleur du texte : */ color: white; } CSSOOCSS obiektowy (ang. OOCSS ), to metoda stworzona w 2009 roku na modelu programowania obiektowego , pozwalająca na ponowne wykorzystanie jej stylów w kilku kontekstach.
BEMBEM (Block, element, modifier) to wynaleziona w 2010 roku technika pisania CSS, polegająca na deklarowaniu stylów w postaci struktury drzewa w celu poprawy wydajności. Przykład:
.product { &-productLabel { ... } &-productPicture { ... } }Uwaga: znak & (&) reprezentuje obiekt nadrzędny w Sass i LESS .
Zawartość pliku index.html :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <link rel="stylesheet" href="style.css"/> <title>Exemple html et css</title> </head> <body> <button class="btn" id="btn1">Premier bouton</button><br/><br/> <button class="btn" id="btn2">Deuxième bouton</button><br/><br/> <button class="btn" id="btn3">Troisième bouton</button> </body> </html>Zawartość pliku style.css :
.btn { height: 50px; color: white; font-size: 20px; cursor: pointer; transition: background-color 2s; outline: none; border: none; } *::selection { background-color: lightgreen; color: darkblue; } .btn:hover { transition: background-color 2s; } #btn1 { background-color: lightgreen; } #btn1:hover { background-color: darkgreen; } #btn2 { background-color: lightblue; } #btn2:hover { background-color: darkblue; } #btn3 { background-color: red; } #btn3:hover { background-color: orange; }Otwarcie pliku HTML w przeglądarce pokazuje style skonfigurowane za pomocą pliku CSS.
CSS początkowo dążył do niezależności między strukturą a prezentacją dokumentu.
Tak więc strona CSS Zen Garden , stworzona w 2003 roku przez Dave'a Shea (en) , ma na celu zademonstrowanie możliwości swobodnego modyfikowania wyświetlanego renderowania tej samej strony internetowej, tylko dzięki CSS i bez jakiejkolwiek modyfikacji jej kodu. w grudniu 2006 roku zaprezentowała 986 różnych projektów na swojej stronie głównej. Jednak większość z tych projektów opiera się w całości lub w części na zastąpieniu treści tekstowej strony obrazami CSS, które ją odtwarzają, wzbogacając jej wygląd: wolność graficzna zawsze opiera się częściowo na przekształceniu tekstu w obrazy. Z drugiej strony CSS Zen Garden pozostaje ćwiczeniem stylistycznym ograniczonym do pojedynczego dokumentu, o strukturze połączonej z semantycznie neutralnymi elementami i atrybutami, które służą jedynie do obsługi selektorów CSS.
Chociaż istnieje wiele przykładów dokumentów HTML, dla których opracowano wiele arkuszy stylów, istnieje tylko kilka przykładów ogólnych arkuszy stylów, które są niezależne od struktury dokumentu. Przykładem tego są domyślne style agenta użytkownika, ale ograniczone do prostych efektów typograficznych bez definicji układu. Ogólnie rzecz biorąc, arkusze stylów są ściśle zależne od struktury dokumentu, który ma być stylizowany, i trudno jest je ponownie wykorzystać w dokumentach o różnej strukturze. Tę potencjalną niezależność stylów wobec specyficznej struktury dokumentów wykorzystuje się bardziej poprzez tworzenie wzorców HTML CSS.
Bardziej ogólnie :
CSS promuje dostępność strony internetowej , ostatecznie dając użytkownikowi kontrolę nad renderowaniem dokumentu w jego przeglądarce: dzięki temu możliwe jest dostosowanie go do ograniczeń lub preferencji dotyczących na przykład wielkości wyświetlanych znaków lub kolorów. Oddzielając strukturę i prezentację, CSS promuje również pisanie semantycznych dokumentów ustrukturyzowanych, potencjalnie bardziej użytecznych przez pomoce techniczne: swoboda prezentacji elementów tytułu umożliwia na przykład ścisłe przestrzeganie formalnego porządku hierarchicznego tych elementów. z kolei umożliwia pomocom technicznym ustalenie spisu treści z możliwością nawigacji. Wreszcie, dając autorom środki na wzbogacenie formatowania tekstu, CSS umożliwia ograniczenie użycia tekstów umieszczanych w obrazach.
Jednak niektóre zastosowania CSS mogą również wpłynąć na dostępność treści:
Metody stosowania dyrektyw dotyczących dostępności treści internetowych (np. RGAA , UWEM ) określają zatem zasady używania stylów CSS.
CSS odpowiada na pragnienie posiadania prostego formatu prezentacji, zarówno pod względem funkcjonalności, jak i składni, w celu promowania bezpośredniej manipulacji przez autorów i użytkowników. Jednak tę prostotę kwestionuje kilka czynników:
Struktury CSS to wstępnie przygotowane biblioteki, które mają umożliwić łatwiejsze, bardziej zgodne ze standardami stylizowanie stron internetowych przy użyciu języka kaskadowych arkuszy stylów. Należą do nich Blueprint , Bootstrap , Cascade Framework i Foundation . Podobnie jak język programowania i biblioteki skryptów, struktury CSS są zwykle włączane jako zewnętrzne arkusze .css, do których odwołuje się HTML „<head>”. Zapewniają szereg gotowych opcji projektowania i układu stron internetowych. Chociaż wiele z tych struktur zostało wydanych, niektórzy autorzy używają ich głównie do szybkiego prototypowania lub do nauki i preferują „ręcznie przygotowany” CSS, który jest odpowiedni dla każdej opublikowanej witryny bez związanych z tym kosztów projektowania, konserwacji i pobierania. . w stylu strony.
Wraz ze wzrostem rozmiaru zasobów CSS wykorzystywanych w projekcie, zespół programistów często musi zdecydować się na wspólną metodologię projektowania, aby utrzymać ich porządek. Cele to łatwość programowania, łatwość współpracy podczas programowania i wydajność arkuszy stylów wdrożonych w przeglądarce. Popularne metodologie obejmują OOCSS (Object Oriented CSS), ACSS (Atomic CSS), oCSS (Organic Cascading Style Sheet), SMACSS (Scalable and Modular Architecture for CSS) oraz BEM (Block, Element, Modifier).