Tworzenie stron www
Marketing
Pozycjonowanie
PR
Inne
O nas
Sklep
Blog Kontakt

CSS

CSS jest językiem, który odpowiada za stylizację i układ stron internetowych. Dzięki niemu strony wyglądają estetycznie, są czytelne i responsywne, dostosowując się do różnych urządzeń.
Kodowanie stylów CSS – architektura, wydajność, dostępność, utrzymanie

CSS, który da się rozwijać latami, a nie tylko dobrze wygląda w dniu startu

Arkusz stylów decyduje o tym, jak strona wygląda, ale także o tym, jak szybko się wczytuje, czy wygodnie obsłużysz ją klawiaturą i czytnikiem ekranu oraz ile kosztuje każda kolejna zmiana. Na wielu stronach CSS narasta warstwami: motyw, wtyczki, poprawki dopisywane w pośpiechu, kolejne deklaracje !important. Poniżej obszerne kompendium o podstawach CSS, a w sekcjach obok: jak piszemy i porządkujemy style w projektach SEOSEM24.

Kodujemy szablony stron i sklepów od zera, przygotowujemy warstwę stylów dla motywów WordPressa i innych systemów, a także porządkujemy CSS na stronach, które po latach rozbudowy stały się wolne i trudne w edycji. CSS to jedna z trzech warstw frontendu: strukturę opisujemy w HTML, zachowanie w JavaScripcie, a o tym, jak dobieramy technologie do projektu, piszemy przy językach kodowania.

0rok, w którym W3C opublikowało pierwszą rekomendację CSS; dziś język rozwija się w osobnych modułach, a nie jako jedna numerowana wersja
0,5:1minimalny kontrast zwykłego tekstu względem tła według WCAG na poziomie AA; paletę kolorów sprawdzamy pod tym kątem już w zmiennych
0pxszerokości ekranu, przy której treść ma się mieścić bez przewijania w poziomie – to kryterium WCAG „Dopasowanie do ekranu”
0etapów, w których powstaje warstwa CSS w naszych projektach: od analizy projektu graficznego po dokumentację i okresowe porządki

CSS

W erze cyfrowej każda firma, niezależnie od branży, potrzebuje obecności w internecie. Dobrze zaprojektowana strona internetowa lub sklep online to nie tylko wizytówka firmy, ale także potężne narzędzie sprzedażowe i marketingowe. Aby przyciągnąć uwagę użytkowników, wyróżnić się na tle konkurencji i zapewnić pozytywne doświadczenia podczas korzystania ze strony, kluczowe jest zastosowanie estetycznego i funkcjonalnego designu. Tutaj właśnie wkracza CSS (Cascading Style Sheets) – technologia, która umożliwia projektowanie atrakcyjnych i responsywnych witryn.

Czym jest CSS?

CSS (Cascading Style Sheets) to język arkuszy stylów, który służy do opisywania wyglądu i układu elementów na stronie internetowej. O ile HTML odpowiada za strukturę i treść strony (np. nagłówki, paragrafy, obrazy), CSS zajmuje się tym, jak te elementy wyglądają: ich kolorem, rozmiarem, pozycjonowaniem, a także animacjami i interakcjami.

W praktyce CSS pozwala oddzielić warstwę treści (HTML) od warstwy prezentacji (stylizacja), co sprawia, że tworzenie i utrzymanie stron staje się bardziej efektywne i elastyczne. Dzięki CSS możemy:

  • Zmieniać układ strony w zależności od urządzenia (responsywność).
  • Ulepszać estetykę strony za pomocą nowoczesnych technik projektowania.
  • Tworzyć interaktywne elementy, które poprawiają doświadczenie użytkownika (UX).

Podstawy CSS – Jak działa?

Każda strona internetowa, która wygląda atrakcyjnie i nowocześnie, wykorzystuje CSS. Aby zrozumieć, jak działa ten język, warto zapoznać się z jego podstawową składnią.

Selektory

Selektory to elementy, które określają, do jakich części HTML-a zastosowany zostanie dany styl. Przykładowe selektory:

  • Selektor tagu – styluje wszystkie elementy danego rodzaju,
  • Selektor klasy – styluje elementy z określoną klasą,
  • Selektor ID – styluje element z określonym identyfikatorem.

Właściwości i wartości

Każdy styl w CSS składa się z właściwości (np. kolor, margines, szerokość) oraz przypisanych do nich wartości.

Przykładowy kod CSS, który zmienia kolor tekstu, ustawia marginesy i zmienia tło:

CSS

Kaskadowość i dziedziczenie

CSS działa na zasadzie kaskadowości – style są stosowane od góry do dołu, a najniżej zdefiniowane reguły mają najwyższy priorytet. Dodatkowo, style mogą być dziedziczone – na przykład właściwość „color” ustawiona dla elementu „body” zostanie odziedziczona przez wszystkie elementy potomne.

Zaawansowane możliwości CSS

CSS, choć często postrzegany jako prosty język stylizacji, w rzeczywistości oferuje szereg zaawansowanych funkcji, które pozwalają na tworzenie nowoczesnych, interaktywnych i estetycznych stron internetowych. Z biegiem lat rozwój technologii webowych przekształcił CSS z narzędzia do podstawowej stylizacji w kompleksowy język umożliwiający pełne kontrolowanie wyglądu i funkcjonalności stron internetowych.

Flexbox i Grid – Fundamenty nowoczesnych layoutów

Dawniej układy stron internetowych były projektowane przy użyciu zagnieżdżonych tabel lub niewygodnych konstrukcji float. Wprowadzenie Flexboxa i Grid Layoutu zmieniło podejście do budowy układów. Flexbox doskonale sprawdza się w sytuacjach, gdy układ ma być elastyczny w jednym wymiarze – poziomym lub pionowym. Jest niezastąpiony przy projektowaniu responsywnych nawigacji, kart produktowych czy sekcji z tekstem i obrazami.

Z kolei Grid Layout oferuje możliwości tworzenia bardziej złożonych układów w dwóch wymiarach – zarówno w poziomie, jak i w pionie. Dzięki temu można łatwo zaprojektować wielokolumnowe strony, które zachowują proporcje i przestrzenie między elementami bez względu na rozmiar ekranu.

Pseudoklasy i Pseudoelementy – Interaktywność bez JavaScriptu

Zaawansowane CSS pozwala na dodawanie interaktywności do strony bez konieczności użycia dodatkowych języków programowania. Pseudoklasy, takie jak :hover czy :focus, umożliwiają zmianę wyglądu elementów w odpowiedzi na interakcje użytkownika. Dzięki temu możesz sprawić, że przyciski zmieniają kolor po najechaniu kursorem lub pola formularzy wyróżniają się po kliknięciu.

Pseudoelementy, takie jak ::before i ::after, pozwalają na dodawanie elementów dekoracyjnych lub funkcjonalnych przed lub po zawartości danego elementu, co zwiększa możliwości stylizacji bez konieczności zmiany struktury HTML.

Zmienne CSS i Preprocesory

Wraz z rozwojem języka, CSS zyskał funkcjonalność zmiennych, które ułatwiają zarządzanie kodem i pozwalają na tworzenie dynamicznych systemów kolorystycznych. Dzięki zmiennym możesz łatwo zmieniać motywy kolorystyczne strony czy dostosowywać rozmiary czcionek bez konieczności modyfikacji wielu linii kodu.

Jeszcze bardziej zaawansowane możliwości oferują preprocesory CSS, takie jak Sass czy LESS, które wprowadzają dodatkowe funkcje, takie jak zagnieżdżanie reguł, dziedziczenie stylów i funkcje matematyczne. Dzięki nim kod CSS staje się bardziej zorganizowany i łatwiejszy w utrzymaniu.

Responsywność – Strony dostosowane do każdego urządzenia

Responsywność to dziś absolutny standard w projektowaniu stron internetowych. W dobie smartfonów, tabletów, laptopów i dużych monitorów użytkownicy oczekują, że każda strona internetowa będzie wyglądać i działać równie dobrze na każdym z tych urządzeń.

Dlaczego responsywność jest ważna?

Według statystyk, większość użytkowników przegląda internet za pomocą urządzeń mobilnych. Jeżeli strona nie jest dostosowana do różnych rozdzielczości ekranów, traci użytkowników i potencjalnych klientów. Dodatkowo Google w swoich algorytmach premiuje witryny responsywne, co ma bezpośredni wpływ na widoczność w wynikach wyszukiwania.

Media Queries – klucz do responsywności

Media queries to jedno z najpotężniejszych narzędzi CSS, które pozwala na dostosowanie stylów do różnych rozdzielczości ekranów. Dzięki nim możesz określić, jakie elementy mają się wyświetlać w danym układzie, a jakie powinny być ukryte lub zmodyfikowane. Przykładem zastosowania może być zmiana układu strony z wielokolumnowego na jednokolumnowy na urządzeniach mobilnych.

Mobile-First design

Coraz częściej projektanci stron stosują podejście mobile-first, które polega na projektowaniu witryny w pierwszej kolejności z myślą o urządzeniach mobilnych, a dopiero potem rozszerzaniu jej funkcjonalności na większe ekrany. Dzięki temu strona jest lżejsza, szybsza i bardziej intuicyjna dla użytkowników mobilnych, co przekłada się na lepsze doświadczenia użytkownika (UX).

Optymalizacja elementów graficznych

Responsywność to nie tylko kwestia układu. Ważne jest także dostosowanie obrazów, ikon i innych elementów graficznych do różnych rozdzielczości. Nowoczesne strony korzystają z formatów graficznych takich jak WebP, które oferują wysoką jakość przy minimalnym rozmiarze pliku, co znacząco skraca czas ładowania strony.

CSS SEOSEM24

O czym pamiętać tworząc strony i sklepy internetowe w CSS?

Aby stworzyć nowoczesną i funkcjonalną stronę internetową, warto pamiętać o kilku kluczowych aspektach:

Optymalizacja wydajności

Minimalizuj pliki CSS, aby skrócić czas ładowania strony.
Używaj narzędzi takich jak Google PageSpeed Insights do monitorowania wydajności.

Dostępność (accessibility)

Tworząc strony, pamiętaj o dostępności dla osób z niepełnosprawnościami. Dodaj odpowiedni kontrast tekstu i dostosuj elementy interaktywne.

Spójność wizualna

Stwórz spójny system kolorów, czcionek i elementów graficznych, aby strona wyglądała profesjonalnie i estetycznie.

Dlaczego warto skorzystać z usług SEOSEM24?

Tworzenie profesjonalnych stron internetowych wymaga nie tylko wiedzy technicznej, ale także doświadczenia i znajomości najnowszych trendów. SEOSEM24 to zespół ekspertów, którzy specjalizują się w projektowaniu stron i sklepów internetowych z wykorzystaniem nowoczesnych technologii, takich jak PHP czy JavaScript, oraz dbają o optymalizację SEO, która zwiększa widoczność w wyszukiwarkach.

Co oferujemy?

  • Indywidualne projekty dostosowane do potrzeb Twojej firmy.
  • Responsywne strony internetowe, które działają perfekcyjnie na każdym urządzeniu.
  • Optymalizacja SEO i analiza UX, które zwiększą konwersje i przyciągną więcej klientów.
  • Wsparcie techniczne oraz możliwość rozbudowy witryny o nowe funkcje.

Nie czekaj, jeśli chcesz wyróżnić swoją firmę w internecie i przyciągnąć nowych klientów. Skontaktuj się z nami w SEOSEM24 i pozwól nam stworzyć nowoczesną, funkcjonalną i estetyczną stronę lub sklep internetowy, który pomoże Ci osiągnąć sukces online!

Zobacz też nasze pozostałe usługi tworzenia stron www: https://www.seosem24.pl/tworzenie-stron-www/

Tworzenie stron internetowych – CSS – Najczęściej zadawane pytania

Co to jest CSS?
CSS (Cascading Style Sheets) to język arkuszy stylów używany do opisywania wyglądu i formatowania elementów HTML na stronach internetowych.

Jakie są podstawowe zastosowania CSS?
CSS pozwala na stylizację elementów HTML, takich jak kolory, czcionki, marginesy, odstępy, układ strony, animacje i wiele innych.

Jakie są sposoby dodawania CSS do dokumentu HTML?
CSS można dodawać na trzy sposoby: inline (bezpośrednio w atrybucie style elementu), w sekcji <style> w <head> oraz w zewnętrznym pliku CSS za pomocą znacznika <link>.

Co to jest selektor w CSS?
Selektor to element w CSS, który wskazuje, które części dokumentu HTML mają być stylizowane, np. p dla akapitów lub .klasa dla elementów z określoną klasą.

Czym jest reguła kaskadowości w CSS?
Reguła kaskadowości określa, które style mają pierwszeństwo, jeśli są sprzeczne, uwzględniając ważność, specyficzność i kolejność.

Jak działają klasy i identyfikatory w CSS?
Klasy definiuje się za pomocą kropki (.klasa), a identyfikatory za pomocą hasha (#id). Klasy można stosować wielokrotnie, a identyfikatory są unikalne dla jednego elementu.

Co to jest model pudełkowy (box model) w CSS?
Model pudełkowy to sposób, w jaki CSS opisuje przestrzeń wokół elementu: zawartość (content), wewnętrzne marginesy (padding), ramki (border) i zewnętrzne marginesy (margin).

Jak ustawić tło elementu w CSS?
Tło można ustawić za pomocą właściwości background, np. background-color (kolor), background-image (obraz) czy background-size (rozmiar tła).

Czy CSS obsługuje responsywność?
Tak, CSS obsługuje responsywność za pomocą zapytań medialnych (media queries), które umożliwiają dostosowanie stylów w zależności od urządzenia i jego rozdzielczości.

Co to jest framework CSS?
Framework CSS, taki jak Bootstrap czy Tailwind CSS, to zbiór gotowych stylów i narzędzi, które ułatwiają szybkie tworzenie i stylizowanie stron internetowych.

W skrócie

Pięć warstw arkusza w naszych projektach

  • Ustawienia: zmienne z kolorami, typografią i odstępami
  • Baza: normalizacja i style elementów HTML
  • Układ: kontenery, siatki i sekcje
  • Komponenty nazwane w konwencji BEM
  • Klasy pomocnicze o ściśle określonej roli
Porozmawiaj o kodowaniu strony
Architektura stylów

Jak organizujemy CSS, żeby zmiana w jednym miejscu nie psuła trzech innych

Problemy z CSS rzadko wynikają z nieznajomości właściwości. Wynikają z braku zasad: każda kolejna osoba dopisuje style po swojemu, selektory stają się coraz dłuższe, a żeby nadpisać coś, co ktoś napisał wcześniej, sięga się po !important. Po kilku latach nikt nie wie, które reguły są jeszcze używane, więc nikt nie odważa się ich usunąć. Dlatego zanim napiszemy pierwszą linię stylów, ustalamy architekturę: z jakich warstw składa się arkusz, jak nazywamy klasy i gdzie trafia każdy nowy fragment kodu.

Tokeny projektowe zapisane w zmiennych CSS

Kolory, kroje i rozmiary pisma, odstępy, promienie zaokrągleń, cienie i czasy animacji zapisujemy jako zmienne CSS w jednym miejscu. Komponenty nie używają przypadkowych wartości wpisanych na sztywno, tylko odwołują się do zmiennych. Dzięki temu zmiana koloru marki czy skali odstępów to edycja kilku linii, a nie przeszukiwanie tysięcy reguł. Zmienne pozwalają też łatwo przygotować tryb ciemny albo wariant kolorystyczny dla wybranej sekcji – wystarczy nadpisać ich wartości w danym kontekście.

Nazewnictwo klas w konwencji BEM

Klasy nazywamy według metodyki BEM: blok (na przykład .card), element (.card__title) i modyfikator (.card--featured). Nazwa mówi, do czego należy element i jaką pełni rolę, a selektory pozostają płaskie – zwykle jedna klasa zamiast łańcucha zagnieżdżeń. Taki kod łatwo czytać, przenosić między podstronami i usuwać, gdy komponent przestaje być potrzebny. Nie stylujemy elementów po identyfikatorach ani po strukturze dokumentu, bo wtedy każda zmiana kolejności w HTML psułaby wygląd.

Kontrola specyficzności i kaskadowe warstwy

Kaskada jest zaletą CSS, dopóki panujemy nad kolejnością i specyficznością reguł. Pilnujemy, żeby specyficzność rosła razem z warstwami arkusza: najogólniejsze style elementów na początku, komponenty w środku, klasy pomocnicze na końcu. W nowych projektach porządkujemy to dodatkowo regułą @layer, która pozwala jawnie określić kolejność warstw. Style z zewnętrznej biblioteki czy wtyczki można umieścić w niższej warstwie, tak by nie wygrywały z naszymi komponentami bez względu na długość selektora.

Ten sam porządek dotyczy odstępów. Zamiast dowolnych wartości w pikselach stosujemy skalę kilku odstępów zapisanych w zmiennych, a w siatkach i układach elastycznych właściwość gap zamiast marginesów doklejanych do pojedynczych elementów. Komponent nie ustala wtedy, jak daleko ma stać od sąsiada – decyduje o tym kontener, w którym go umieszczono. Dzięki temu te same karty czy przyciski można przenosić między sekcjami bez poprawiania marginesów w każdym nowym miejscu.

  • Bez stylów inline. Atrybut style w HTML omija cały system, utrudnia zmiany i wymusza kolejne nadpisania. Wyjątkiem są wartości ustawiane dynamicznie przez skrypt, najlepiej jako zmienna CSS, na przykład procent postępu.
  • !important tylko tam, gdzie ma uzasadnienie, na przykład w klasach pomocniczych, które z założenia mają wygrywać, nigdy jako sposób na „przebicie się” przez cudzy selektor.
  • Jeden komponent – jeden plik źródłowy w repozytorium, łączony w procesie budowania w zoptymalizowany arkusz produkcyjny.
  • Style treści z edytora przygotowane osobno, tak by akapity, listy, tabele i cytaty wpisane w CMS wyglądały dobrze bez dodawania klas przez redaktora.
Konwencja zapisana, nie tylko ustalona. Zasady nazewnictwa, struktury plików i użycia zmiennych spisujemy w krótkiej dokumentacji projektu. Dzięki temu kolejna osoba – w naszym zespole albo po stronie klienta – rozwija style w ten sam sposób, zamiast tworzyć równoległy system.
Wybór podejścia

Własny CSS czy framework? Porównanie z perspektywy kolejnych lat projektu

Frameworki CSS przyspieszają start, ale każdy z nich niesie własne założenia, zależności i cykl aktualizacji. Własny arkusz wymaga więcej pracy na początku, za to zawiera dokładnie to, czego potrzebuje projekt. Decyzję podejmujemy wspólnie z klientem, patrząc przede wszystkim na zespół, który będzie stronę rozwijał.

Własny CSS w konwencji BEM

Arkusz pisany od zera pod projekt graficzny, oparty na zmiennych i komponentach, bez zewnętrznych zależności.

  • Do przeglądarki trafia tylko kod, którego strona faktycznie używa.
  • Pełna zgodność z projektem graficznym, bez walki z domyślnym wyglądem biblioteki.
  • Czytelny HTML: klasy opisują komponenty, a nie listę właściwości.
  • Brak zależności od harmonogramu aktualizacji zewnętrznego narzędzia.
  • Więcej pracy na starcie: komponenty i siatkę trzeba zaprojektować samodzielnie.
  • Wymaga dyscypliny i dokumentacji, żeby kolejne osoby trzymały się konwencji.
Dla stron firmowych, sklepów i serwisów, które mają działać i rozwijać się latami, oraz dla projektów, w których szybkość ładowania ma znaczenie dla widoczności i sprzedaży.

Framework CSS (np. Bootstrap, Tailwind CSS)

Gotowy zestaw siatki i komponentów albo biblioteka klas narzędziowych, z których wygląd składa się bezpośrednio w HTML.

  • Szybki start i znane wzorce dla zespołów, które z nich korzystają.
  • Gotowe rozwiązania typowych zadań: siatka, formularze, elementy interfejsu.
  • W podejściu narzędziowym style powstają przy znacznikach, bez przełączania się między plikami.
  • Bez starannej konfiguracji do przeglądarki trafia sporo nieużywanego kodu.
  • Charakterystyczny wygląd komponentów trzeba nadpisywać, żeby dopasować go do marki.
  • Długie listy klas w HTML utrudniają edycję osobom spoza zespołu programistów.
  • Przejście na nową wersję główną bywa osobnym projektem.
Dla aplikacji i paneli rozwijanych przez zespół, który zna dany framework, oraz dla prototypów. Przy Tailwind CSS proces budowania generuje tylko klasy użyte w kodzie, więc kluczowa jest jego poprawna konfiguracja.
Nowoczesny CSS

Możliwości, które niedawno wymagały JavaScriptu, a dziś daje je sam CSS

CSS rozwija się dziś szybciej niż kiedykolwiek. Nowe funkcje stosujemy wtedy, gdy obsługują je przeglądarki odbiorców strony; pomaga w tym oznaczenie Baseline, wskazujące funkcje dostępne we wszystkich głównych przeglądarkach. Gdy wsparcie jest niepełne, traktujemy nowość jako ulepszenie: strona działa bez niej, a z nią działa lepiej.

01

Zapytania o kontener

Reguła @container pozwala dopasować wygląd komponentu do szerokości miejsca, w którym go umieszczono, a nie do szerokości całego ekranu. Ta sama karta może wyglądać inaczej w wąskiej kolumnie bocznej i w szerokiej sekcji głównej, bez dodatkowych klas i osobnych wariantów.

  • Komponenty niezależne od układu strony
  • Mniej wyjątków w zapytaniach o media
  • Łatwiejsze ponowne użycie w CMS
02

Selektor :has()

Pozwala stylować element w zależności od tego, co zawiera – na przykład kartę, która ma zdjęcie, albo grupę pól formularza z błędem. Wiele zadań, do których kiedyś dopisywało się skrypt dodający klasę rodzicowi, można dziś rozwiązać samym selektorem.

  • Style zależne od zawartości
  • Mniej skryptów pomocniczych
  • Stosowany z rozwagą w dużych dokumentach
03

Natywne zagnieżdżanie

Reguły można zagnieżdżać bezpośrednio w CSS, bez preprocesora. Dla stanów, takich jak :hover czy :focus-visible, i modyfikatorów komponentu to wygodny zapis, ale pilnujemy, żeby zagnieżdżanie nie zamieniło się w długie łańcuchy selektorów o wysokiej specyficzności.

  • Czytelny zapis stanów komponentu
  • Płytkie zagnieżdżenia
  • Mniejsza zależność od Sassa
04

Płynna typografia i odstępy

Funkcja clamp() pozwala płynnie skalować rozmiar pisma i odstępy między wartością minimalną a maksymalną, zależnie od szerokości ekranu. Zamiast kilku skoków w punktach przełamania otrzymujemy płynne przejście, a tekst pozostaje czytelny na telefonie i nie jest przesadnie duży na monitorze.

  • Minimum i maksimum w jednostkach rem
  • Powiększanie tekstu przez użytkownika działa
  • Mniej punktów przełamania
05

Siatka z podsiatką

Grid z wartością subgrid pozwala elementom zagnieżdżonym korzystać z linii siatki rodzica. W praktyce tytuły, opisy i przyciski w rzędzie kart wyrównują się do siebie, nawet gdy teksty mają różną długość – bez sztywnych wysokości i obliczeń w JavaScripcie.

  • Wyrównane karty bez stałych wysokości
  • Układ odporny na zmiany treści
  • Mniej kodu niż dawne obejścia
06

Właściwości logiczne

Zamiast margin-left czy padding-right używamy właściwości logicznych, takich jak margin-inline-start. Odnoszą się one do kierunku tekstu, a nie do stron ekranu, więc strona przygotowana w ten sposób łatwiej przyjmuje wersję językową pisaną od prawej do lewej.

  • Gotowość na języki pisane od prawej
  • Spójne odstępy w poziomie i pionie
  • Mniej nadpisań dla wersji językowych
W skrócie

Co w CSS najczęściej spowalnia stronę

  • Duże arkusze blokujące renderowanie
  • Nieużywane style z motywów i wtyczek
  • Fonty bez strategii ładowania
  • Obrazy i osadzenia bez zarezerwowanego miejsca
  • Animacje właściwości wymuszających przeliczenie układu
  • Kilka bibliotek robiących to samo
Zamów przegląd stylów strony
Szybkość

CSS a szybkość strony: gdzie arkusz stylów wpływa na Core Web Vitals

Przeglądarka nie wyświetli strony, dopóki nie pobierze i nie przetworzy arkuszy stylów podłączonych w nagłówku dokumentu – CSS domyślnie blokuje renderowanie. To słuszne, bo bez stylów użytkownik zobaczyłby na chwilę niesformatowany tekst, ale oznacza też, że każdy zbędny kilobajt CSS opóźnia moment, w którym na ekranie pojawia się treść. Na stronach opartych na rozbudowanych motywach i wielu wtyczkach często większość pobieranego CSS nie jest na danej podstronie w ogóle używana.

Krytyczny CSS i ładowanie reszty później

Style potrzebne do wyświetlenia pierwszego ekranu – nagłówka, pierwszej sekcji, typografii – mogą trafić bezpośrednio do kodu strony, a pozostałe są wczytywane bez blokowania. Na stronach o wielu różnych szablonach dzielimy arkusz na część wspólną i części ładowane tylko tam, gdzie są potrzebne, na przykład style procesu zamówienia wyłącznie na stronach koszyka. Panel Coverage w narzędziach deweloperskich Chrome pokazuje, jaka część pobranego CSS została faktycznie użyta – to dobry punkt wyjścia do porządków.

Fonty i stabilność układu

Fonty internetowe wpływają zarówno na czas wyświetlenia treści, jak i na przesunięcia układu, gdy krój zastępczy zostaje podmieniony na docelowy. Ograniczamy liczbę wariantów pisma, ładujemy pliki w formacie WOFF2, ustawiamy właściwość font-display i dobieramy krój zastępczy o zbliżonych proporcjach. Dla obrazów, filmów i osadzeń rezerwujemy miejsce atrybutami wymiarów lub właściwością aspect-ratio, żeby treść nie przeskakiwała podczas wczytywania. To bezpośrednio poprawia wskaźnik CLS.

Animacje i reakcja na interakcje

Animujemy przede wszystkim właściwości transform i opacity, które przeglądarka może przetwarzać bez ponownego przeliczania układu strony. Animowanie szerokości, wysokości czy marginesów wymusza przeliczanie położenia wielu elementów w każdej klatce, co na słabszych telefonach daje szarpanie i może opóźniać reakcję na kliknięcia, mierzoną wskaźnikiem INP. Długie sekcje poza pierwszym ekranem mogą korzystać z właściwości content-visibility, dzięki której przeglądarka odkłada ich renderowanie do momentu, gdy będą potrzebne.

Selektory i przeliczanie stylów

Na typowych stronach złożoność selektorów rzadko jest wąskim gardłem, ale w rozbudowanych serwisach i aplikacjach z tysiącami elementów ma już znaczenie. Każda zmiana klasy czy stanu może wymusić ponowne dopasowanie reguł do elementów. Płaskie selektory klas, ograniczanie zasięgu zmian właściwością contain i unikanie reguł obejmujących wszystkie elementy dokumentu pomagają utrzymać płynność interfejsu, zwłaszcza na słabszych telefonach.

  • Minifikacja i kompresja to standard, ale dopiero usunięcie nieużywanych reguł realnie zmniejsza ilość pracy przeglądarki.
  • Jeden zestaw ikon i jedna biblioteka zamiast kilku pakietów o tym samym przeznaczeniu, ładowanych przez różne wtyczki.
  • Pomiar przed zmianą i po niej w danych laboratoryjnych oraz, gdy to możliwe, w danych od rzeczywistych użytkowników.
Szybkość to nie tylko CSS. Arkusze stylów są jednym z kilku elementów, które sprawdzamy. Szerzej o diagnozie piszemy przy analizie prędkości ładowania, a o kompleksowej usłudze przy optymalizacji szybkości strony.
Dostępność

Dostępność zaczyna się w arkuszu stylów: sześć obszarów, które sprawdzamy w każdym projekcie

Wiele barier, na które trafiają osoby słabowidzące, korzystające z klawiatury czy wrażliwe na ruch, powstaje właśnie w CSS. Ich usunięcie zwykle nie wymaga zmiany projektu graficznego, tylko świadomych decyzji przy kodowaniu.

Kontrast tekstu i elementów interfejsu

Wytyczne WCAG na poziomie AA wymagają kontrastu co najmniej 4,5:1 dla zwykłego tekstu oraz 3:1 dla tekstu dużego i istotnych elementów interfejsu, takich jak obramowania pól formularza czy ikony pełniące funkcję przycisków. Jasnoszary tekst na białym tle, modny w wielu szablonach, często tych wymagań nie spełnia.

Paletę kolorów sprawdzamy już na etapie tokenów, zanim trafi do komponentów. Jeżeli kolor marki nie zapewnia odpowiedniego kontrastu z tłem, przygotowujemy jego ciemniejszy wariant do tekstów i przycisków, a oryginał zostawiamy dla elementów dekoracyjnych.

  • Tekst zwykły: co najmniej 4,5:1
  • Tekst duży i elementy interfejsu: co najmniej 3:1
  • Kontrast sprawdzany w tokenach
  • Warianty kolorów marki do tekstu
Proces

Jak powstaje warstwa CSS w naszych projektach: sześć etapów od projektu do utrzymania

Style nie są ostatnim krokiem przed publikacją, tylko częścią projektu od pierwszego dnia. Każdy etap kończy się czymś, co można obejrzeć, sprawdzić i zaakceptować.

1

Analiza projektu graficznego

Przeglądamy projekt pod kątem powtarzalnych elementów, stanów (najechanie, fokus, błąd, element nieaktywny) i zachowania na różnych szerokościach ekranu. Wyłapujemy niespójności – pięć odcieni szarości, które powinny być dwoma, czy odstępy różniące się o kilka pikseli – i uzgadniamy je z projektantem, zanim staną się kodem.

Inwentaryzacja komponentówLista niespójności
2

Tokeny i fundamenty

Zapisujemy paletę kolorów, skalę typografii, skalę odstępów, promienie i cienie jako zmienne. Przygotowujemy style bazowe dla elementów HTML: nagłówków, akapitów, list, tabel i formularzy, tak by treść wpisana w edytorze CMS wyglądała dobrze bez dodatkowych klas.

Zmienne CSSStyle treści z edytora
3

Układ i komponenty

Kodujemy siatki i kontenery, a następnie komponenty w konwencji BEM, każdy z kompletem stanów i wariantów. Zaczynamy od najwęższego ekranu i rozbudowujemy układ dla szerszych. Komponenty sprawdzamy na treściach skrajnych: bardzo długich tytułach, brakujących zdjęciach, pustych listach.

Najpierw telefonBiblioteka komponentów
4

Integracja z systemem

Łączymy style z szablonami CMS lub aplikacji i konfigurujemy proces budowania: łączenie plików, minifikację, podział arkusza na części ładowane warunkowo. Wyłączamy style dołączane przez wtyczki i motywy nadrzędne, jeśli nie są potrzebne, żeby nie konkurowały z komponentami projektu.

Proces budowaniaKontrola stylów wtyczek
5

Testy przeglądarek, urządzeń i dostępności

Sprawdzamy stronę w aktualnych wersjach głównych przeglądarek, na telefonach i w trybach, o których często się zapomina: przy powiększonym tekście, w nawigacji klawiaturą, z ograniczeniem ruchu i w trybie wymuszonych kolorów. Mierzymy też wpływ stylów na wskaźniki Core Web Vitals.

Testy na urządzeniachTesty dostępności
6

Dokumentacja i rozwój

Przekazujemy opis konwencji, listę komponentów z przykładami użycia i zasady dodawania nowych stylów. Jeśli zostajemy przy projekcie w ramach wsparcia technicznego, pilnujemy, żeby arkusz nie obrastał w wyjątki, i co jakiś czas usuwamy reguły, które przestały być używane.

Dokumentacja komponentówOkresowe porządki
Porządki w istniejącym CSS

Osiem sygnałów, że arkusz stylów wymaga refaktoryzacji, a nie kolejnej poprawki

Przejmujemy strony, na których drobna zmiana wyglądu zajmuje godziny, bo najpierw trzeba ustalić, która z kilku reguł faktycznie działa. Jeśli rozpoznajesz u siebie kilka poniższych objawów, uporządkowanie stylów zwykle opłaca się bardziej niż dalsze łatanie.

01

!important w co drugiej regule

Gdy jedynym sposobem na zmianę wyglądu jest dopisanie !important, kaskada przestała działać. Każda kolejna poprawka wymaga jeszcze silniejszego selektora albo kolejnej deklaracji z wykrzyknikiem.

02

Style wpisane w HTML

Atrybuty style rozsiane po treściach i szablonach sprawiają, że zmiana koloru czy odstępu wymaga edycji dziesiątek podstron zamiast jednej reguły w arkuszu.

03

Kilka wersji tego samego przycisku

Przyciski, nagłówki sekcji czy karty różnią się drobiazgami na różnych podstronach, bo każdy powstał osobno. To znak, że brakuje wspólnych komponentów i tokenów.

04

Pliki, których nikt nie rozumie

Arkusze o nazwach w rodzaju custom2.css czy poprawki-final.css, do których dopisuje się kolejne reguły na końcu, bo nikt nie wie, co można bezpiecznie usunąć.

05

Ciężkie style z motywu i wtyczek

Strona pobiera style suwaków, galerii i formularzy, których nie używa, a narzędzia do pomiaru szybkości wskazują CSS jako zasób blokujący renderowanie.

06

Zmiana w jednym miejscu psuje inne

Selektory oparte na strukturze dokumentu, na przykład .content div ul li a, sprawiają, że poprawka w jednej sekcji nieoczekiwanie zmienia wygląd zupełnie innej.

07

Niespójne odstępy i rozmiary pisma

Kilkanaście różnych wartości marginesów i rozmiarów czcionki zamiast jednej skali. Strona sprawia wrażenie nieuporządkowanej, choć trudno wskazać dlaczego.

08

Kłopoty na telefonach

Elementy wychodzące poza ekran, poziomy pasek przewijania, za małe pola dotyku. Często to skutek stałych szerokości i poprawek dopisywanych osobno dla kolejnych rozdzielczości.

Nasze zasady

Zasady, których trzymamy się, pisząc style dla klientów

Nie są to reguły wymyślone dla samego porządku. Każda wynika z problemów, które spotkaliśmy na przejmowanych stronach, i z tego, co ułatwia życie zespołom rozwijającym serwis po latach.

Najpierw HTML, potem CSS

Zaczynamy od poprawnej, semantycznej struktury dokumentu. Style dopasowujemy do znaczników, a nie znaczniki do stylów: przycisk jest elementem button, a nie blokiem div wystylizowanym na przycisk.

Prosty kod zamiast sprytnego

Wybieramy rozwiązania, które zrozumie kolejna osoba w projekcie. Efektowna sztuczka w selektorze nie jest warta godzin, które ktoś spędzi później na jej rozszyfrowaniu.

Treść ważniejsza od dekoracji

Strona musi być czytelna i użyteczna nawet wtedy, gdy nie wczyta się font, obraz tła albo animacja. Dekoracje dodajemy na końcu, jako warstwę, która niczego nie blokuje.

Ulepszanie progresywne

Nowe możliwości CSS stosujemy tam, gdzie poprawiają doświadczenie, ale z rozwiązaniem zastępczym dla przeglądarek, które ich nie obsługują. Nikt nie powinien zobaczyć rozbitej strony.

Projekt zapisany w zmiennych

Kolory, odstępy i typografia pochodzą z jednego zestawu tokenów. Dzięki temu strona pozostaje spójna, a odświeżenie identyfikacji wizualnej nie wymaga przepisywania arkuszy od nowa.

Każda zmiana do prześledzenia

Style trzymamy w repozytorium z historią zmian. Wiadomo, kto, kiedy i dlaczego zmienił regułę, a w razie problemu można szybko wrócić do poprzedniej wersji.

W skrócie

Co ustalamy przy stylach strony opartej na CMS

  • Które style ładuje motyw, a które wtyczki
  • Jak treści wyglądają w edytorze, a jak na stronie
  • Gdzie redaktor może zmieniać kolory i odstępy
  • Jak style przetrwają aktualizację motywu
  • Które arkusze można wyłączyć na wybranych podstronach
Zapytaj o przegląd swojej strony
CSS w systemach CMS

Style w WordPressie i innych CMS-ach: motyw, edytor, wtyczki i aktualizacje

Na stronie opartej na systemie zarządzania treścią CSS pochodzi z kilku źródeł naraz: z motywu, z wtyczek, z edytora treści, a czasem także z pola „Dodatkowy CSS” w panelu, do którego ktoś kiedyś wkleił poprawki. Każde z tych źródeł ma własną kolejność ładowania i własne selektory. Dopóki strona jest mała, nikomu to nie przeszkadza. Problem pojawia się, gdy trzeba zmienić wygląd formularza, a jego style są rozrzucone między trzy pliki, z których dwa nadpisują się nawzajem.

Motyw potomny lub własny motyw zamiast edycji cudzego kodu

Zmian w stylach nie wprowadzamy bezpośrednio w plikach gotowego motywu, bo pierwsza aktualizacja by je usunęła. Przy gotowych motywach pracujemy na motywie potomnym, a przy projektach szytych na miarę – na własnym motywie, w którym kontrolujemy każdy arkusz. W WordPressie z edytorem blokowym część ustawień – paleta kolorów, rozmiary pisma, odstępy – trafia do pliku theme.json. Redaktor wybiera wtedy kolory z palety marki zamiast z dowolnego próbnika, a te same wartości są dostępne jako zmienne CSS w całym motywie.

Edytor, który wygląda jak strona

Redaktor powinien widzieć w edytorze treść możliwie zbliżoną do tej, którą zobaczy odwiedzający: te same kroje, rozmiary nagłówków, odstępy między akapitami, wygląd cytatów i tabel. Przygotowujemy osobny zestaw stylów dla edytora, oparty na tych samych zmiennych co strona. Zmniejsza to liczbę sytuacji, w których tekst wyglądający dobrze w panelu rozjeżdża się po publikacji, i ogranicza pokusę „poprawiania” wyglądu spacjami czy pustymi akapitami.

Wtyczki i kreatory stron

Wtyczki często ładują swoje arkusze na każdej podstronie, nawet jeśli ich funkcja – formularz, galeria, suwak – występuje tylko na jednej. Tam, gdzie to możliwe, ograniczamy ładowanie takich stylów do podstron, które ich potrzebują, a w nowych projektach wybieramy rozszerzenia pozwalające wyłączyć domyślny wygląd i ostylować elementy według naszego systemu. Kreatory wizualne generują zwykle więcej kodu niż szablony pisane ręcznie, dlatego przy stronach, dla których liczy się szybkość, omawiamy z klientem kompromis między swobodą edycji a wydajnością.

  • Pole „Dodatkowy CSS” w panelu traktujemy jako miejsce na drobne, tymczasowe poprawki; docelowo ich treść przenosimy do arkuszy motywu, gdzie podlega wersjonowaniu.
  • Style sklepu, na przykład WooCommerce, nadpisujemy w sposób odporny na aktualizacje, bez kopiowania całych plików wtyczki do motywu.
  • Po każdej większej aktualizacji sprawdzamy kluczowe szablony: stronę główną, podstronę usługi, wpis, formularz, a w sklepie także kartę produktu i koszyk.
Inne systemy, te same zasady. Podobnie pracujemy w PrestaShopie, Drupalu czy Joomli: własny lub potomny motyw, style oparte na zmiennych, kontrola nad arkuszami dodatków. Porównanie systemów znajdziesz na stronie o systemach CMS.
Koszt utrzymania

Co najmocniej wpływa na koszt utrzymania stylów w kolejnych latach

Ocena wynika z naszej praktyki przy przejmowaniu i porządkowaniu stron. To nie wynik badania, tylko kolejność, w której szukamy przyczyn, gdy proste zmiany wyglądu trwają zbyt długo i kosztują zbyt wiele.

Spójny system zmiennych i komponentówdecydujące

Gdy kolory, odstępy i typografia pochodzą z jednego źródła, większość zmian wyglądu to edycja kilku wartości, a nie przegląd całego arkusza.

Niska i przewidywalna specyficznośćbardzo wysoka

Płaskie selektory klas pozwalają dodawać nowe style bez wyścigu na coraz dłuższe łańcuchy i kolejne deklaracje !important.

Kontrola nad stylami wtyczek i motywówbardzo wysoka

Im mniej obcych arkuszy konkuruje z komponentami projektu, tym rzadziej aktualizacja dodatku zmienia wygląd strony bez ostrzeżenia.

Dokumentacja konwencjiwysoka

Krótki opis zasad i lista komponentów sprawiają, że nowa osoba w projekcie nie buduje równoległego systemu obok istniejącego.

Repozytorium i historia zmianwysoka

Możliwość sprawdzenia, kto i dlaczego zmienił regułę, oraz szybkiego powrotu do poprzedniej wersji oszczędza godziny poszukiwań.

Regularne usuwanie nieużywanego koduistotna

Okresowe porządki zapobiegają narastaniu reguł, których nikt nie używa, ale których nikt też nie odważy się usunąć.

FAQ

Pytania o CSS i kodowanie stylów, które zadają nam klienci

Odpowiedzi uzupełniające kompendium. Jeśli nie ma tu Twojego pytania, napisz lub zadzwoń – chętnie spojrzymy na Twoją stronę.

Czym różni się CSS od HTML i JavaScriptu?
HTML opisuje strukturę i znaczenie treści: nagłówki, akapity, listy, formularze. CSS odpowiada za wygląd i układ tych elementów na różnych ekranach. JavaScript dodaje zachowanie wymagające logiki, na przykład wysyłanie formularza bez przeładowania strony. Dobra strona zachowuje ten podział: im więcej da się zrobić w HTML i CSS, tym mniej skryptów musi pobrać przeglądarka.
Czy CSS ma wpływ na pozycjonowanie strony?
Pośrednio tak. Google renderuje strony podobnie jak przeglądarka, więc arkusze stylów wpływają na szybkość, stabilność układu i wygodę korzystania na telefonie, czyli na doświadczenie strony. Nie wolno natomiast ukrywać w CSS tekstu przeznaczonego tylko dla wyszukiwarki – to praktyka sprzeczna z zasadami Google dotyczącymi spamu. Więcej o pracy nad widocznością przy pozycjonowaniu stron.
Własny CSS czy Bootstrap albo Tailwind?
Zależy od projektu i zespołu. Do stron firmowych i sklepów, które mają być szybkie i dopasowane do marki, zwykle wybieramy własny CSS oparty na zmiennych i konwencji BEM. Framework ma sens w aplikacjach rozwijanych przez zespół, który go zna. W obu przypadkach kluczowe jest, żeby do przeglądarki nie trafiał nieużywany kod.
Czy Sass jest jeszcze potrzebny?
Coraz rzadziej jest niezbędny. Zmienne, zagnieżdżanie reguł i wiele funkcji matematycznych są dziś dostępne bezpośrednio w CSS. Preprocesor nadal przydaje się w dużych projektach, na przykład do generowania powtarzalnych klas czy łączenia wielu plików, ale w nowych projektach nie traktujemy go jako obowiązkowego.
Co to jest BEM i dlaczego go stosujecie?
BEM to konwencja nazywania klas: blok, element i modyfikator, na przykład .menu, .menu__item i .menu__item--active. Nazwa klasy od razu mówi, do czego element należy, selektory są płaskie i mają niską specyficzność, a komponenty można przenosić i usuwać bez ryzyka, że coś zepsuje się w innym miejscu strony.
Dlaczego unikacie stylów inline?
Style wpisane w atrybut style mają bardzo wysoki priorytet i omijają system komponentów. Każda zmiana wymaga wtedy edycji wielu miejsc, a nadpisanie takiego stylu z arkusza jest możliwe właściwie tylko przez !important. Wyjątkiem są wartości ustawiane dynamicznie przez skrypty, najlepiej w postaci zmiennych CSS.
Czy można poprawić CSS bez przebudowy całej strony?
W większości przypadków tak. Zaczynamy od przeglądu: sprawdzamy, które arkusze są ładowane, ile z nich jest używane, gdzie występują konflikty i style inline. Potem porządkujemy etapami – najpierw to, co daje największy efekt w szybkości i najczęściej sprawia kłopot przy edycji, a dopiero później resztę.
Ile CSS powinna mieć strona?
Nie ma uniwersalnej liczby. Ważne jest, ile stylów blokuje wyświetlenie pierwszego ekranu i jaka część pobranego kodu jest używana na danej podstronie. Prosta strona firmowa nie powinna pobierać arkuszy porównywalnych z rozbudowanym sklepem, a tak się dzieje, gdy motyw i wtyczki ładują swoje style na wszystkich podstronach.
Jak sprawdzić, czy strona jest naprawdę responsywna?
Narzędzia deweloperskie przeglądarek pozwalają podejrzeć stronę na różnych szerokościach, ale nie zastąpią testu na prawdziwym telefonie: dotyku, wirtualnej klawiatury i paska adresu zmieniającego wysokość widoku. Sprawdź też stronę w orientacji poziomej i po powiększeniu tekstu – tam najczęściej wychodzą błędy. Szerzej o tym przy audycie mobilności.
Czy tryb ciemny jest konieczny?
Nie jest obowiązkowy, ale wiele osób korzysta z ciemnego motywu systemu. Jeśli style opierają się na zmiennych, przygotowanie trybu ciemnego jest stosunkowo proste. Wymaga jednak sprawdzenia kontrastu, logotypów, zdjęć i grafik, dlatego decyzję podejmujemy razem z klientem na etapie projektu.
Czy animacje CSS spowalniają stronę?
Dobrze przygotowane – nie. Animacje oparte na przekształceniach i przezroczystości są płynne nawet na słabszych urządzeniach. Problemy powodują animacje wymiarów i położenia, które wymuszają przeliczanie układu, oraz rozbudowane efekty uruchamiane przy przewijaniu. Zawsze respektujemy też systemowe ustawienie ograniczenia ruchu.
Jak CSS wpływa na dostępność strony?
Bardzo mocno. W arkuszu decyduje się o kontraście, widoczności fokusu, zachowaniu strony przy powiększonym tekście, reakcji na preferencję ograniczenia ruchu i czytelności w trybie wysokiego kontrastu. Wiele barier da się usunąć bez zmiany projektu graficznego, samą poprawą stylów.
Czy kodujecie strony według gotowego projektu graficznego?
Tak. Możemy zakodować projekt przygotowany przez Twojego grafika lub inną agencję albo zaprojektować stronę od początku. Przed kodowaniem przeglądamy projekt pod kątem spójności, stanów elementów i wersji mobilnej, a braki uzupełniamy wspólnie z autorem. Więcej o projektowaniu interfejsu przy strategii UX/UI.
Czy mogę sam edytować style po oddaniu strony?
Tak, a dokumentacja konwencji i zmiennych bardzo to ułatwia. Proste zmiany, takie jak kolor akcentu czy rozmiar nagłówków, sprowadzają się często do edycji jednej zmiennej. Przy większych zmianach polecamy pracę na kopii strony, żeby sprawdzić efekt przed publikacją, i trzymanie się istniejących komponentów zamiast tworzenia wyjątków.
Czy CSS może zastąpić JavaScript w interakcjach?
W wielu prostych przypadkach tak. Rozwijane sekcje można zbudować na elementach details i summary, efekty najechania, przejścia i część animacji obsłuży sam CSS, a selektor :has() pozwala reagować na stan formularza. JavaScript jest nadal potrzebny tam, gdzie liczy się logika, komunikacja z serwerem albo złożone zarządzanie fokusem i komunikatami dla czytników ekranu.
Ile trwa uporządkowanie CSS na istniejącej stronie?
To zależy od wielkości strony, liczby szablonów i tego, ile stylów pochodzi z wtyczek i motywów. Po przeglądzie przedstawiamy plan podzielony na etapy z priorytetami, dzięki czemu pierwsze efekty – szybsze wczytywanie i łatwiejsza edycja najważniejszych podstron – są widoczne, zanim zakończymy całość.
Czy porządki w CSS zmienią wygląd mojej strony?
Celem refaktoryzacji jest zachowanie wyglądu przy uporządkowanym kodzie, dlatego przed zmianami i po nich porównujemy kluczowe podstrony na kilku szerokościach ekranu. Jeśli w trakcie pracy wychodzą niespójności, na przykład trzy wersje tego samego przycisku, proponujemy ich ujednolicenie, ale decyzję zostawiamy Tobie.
Czy CSS wpływa na wygląd strony po wydrukowaniu?
Tak. Zapytanie o media print pozwala przygotować osobny wygląd do druku: bez menu, banerów i przycisków, z czytelną typografią i adresami odnośników dopisanymi po tekście. Przydaje się to szczególnie na stronach z cennikami, instrukcjami czy dokumentami, które klienci chętnie drukują lub zapisują do PDF.
Czy warto stosować gotowe biblioteki animacji?
Na stronach firmowych rzadko są potrzebne. Większość efektów – pojawianie się elementów, przejścia, rozwijanie sekcji – da się napisać w kilku linijkach CSS, bez pobierania całej biblioteki. Zewnętrzne narzędzia rozważamy przy rozbudowanych animacjach sterowanych przewijaniem lub osią czasu, zawsze z obsługą preferencji ograniczenia ruchu.
Jak przygotować style pod wersje językowe strony?
Warto od początku zakładać, że teksty w innych językach będą dłuższe lub krótsze niż polskie, więc przyciski, menu i nagłówki nie mogą mieć sztywnych szerokości. Właściwości logiczne ułatwiają przygotowanie wersji pisanych od prawej do lewej, a fonty muszą obsługiwać znaki wszystkich języków serwisu. Więcej o takich projektach przy stronach wielojęzycznych.
Lista kontrolna

Zanim wdrożysz zmiany w stylach: osiem punktów kontroli

Krótka lista, którą przechodzimy przed publikacją każdej większej zmiany w CSS. Sprawdzi się również w Twoim zespole, nawet jeśli zmiany wprowadza jedna osoba.

  • Fokus widoczny. Przejdź stronę klawiszem Tab: każdy link, przycisk i pole formularza ma wyraźny wskaźnik fokusu.
  • Kontrast. Teksty i elementy interfejsu spełniają progi WCAG także w stanach najechania, w elementach nieaktywnych i w komunikatach błędów.
  • Szerokość 320 px. Na wąskim ekranie i przy powiększeniu strony nie pojawia się poziomy pasek przewijania.
  • Powiększony tekst. Po zwiększeniu domyślnego rozmiaru pisma teksty nie są ucinane i nie nachodzą na siebie.
  • Stabilny układ. Obrazy, filmy i osadzenia mają zarezerwowane miejsce, a podmiana fontu nie przesuwa treści.
  • Bez nowych !important i stylów inline. Zmiana mieści się w istniejących komponentach albo tworzy nowy, nazwany zgodnie z konwencją.
  • Ograniczenie ruchu. Przy włączonej preferencji systemowej animacje dekoracyjne są wyłączone, a treść pozostaje widoczna.
  • Przeglądarki i urządzenia. Zmiana sprawdzona w głównych przeglądarkach i na telefonie, nie tylko w trybie responsywnym narzędzi deweloperskich.
Słowniczek

Pojęcia z rozmów o CSS w prostych słowach

Krótkie wyjaśnienia terminów, które pojawiają się w tym tekście i w rozmowach z programistami frontendu.

Kaskada
Mechanizm rozstrzygający, która reguła zostanie zastosowana, gdy kilka dotyczy tego samego elementu. Bierze pod uwagę pochodzenie stylu, warstwy, specyficzność selektora i kolejność w kodzie.
Specyficzność
„Waga” selektora wynikająca z liczby identyfikatorów, klas i nazw elementów. W obrębie tej samej warstwy przy konflikcie wygrywa reguła o wyższej specyficzności, niezależnie od kolejności.
BEM
Konwencja nazewnictwa klas: blok, element i modyfikator. Ułatwia orientację w kodzie i utrzymuje niską, przewidywalną specyficzność selektorów.
Zmienne CSS
Własne właściwości zaczynające się od dwóch myślników, na przykład --color-primary, odczytywane funkcją var(). Dziedziczą się i mogą przyjmować inne wartości w różnych częściach strony.
Tokeny projektowe
Nazwane wartości systemu wizualnego: kolory, odstępy, rozmiary pisma, cienie. W kodzie najczęściej zapisywane jako zmienne CSS.
Zapytanie o media
Warunek dotyczący urządzenia lub ustawień użytkownika, na przykład szerokości ekranu, trybu ciemnego czy ograniczenia ruchu, pozwalający zastosować style tylko w określonej sytuacji.
Zapytanie o kontener
Warunek dotyczący rozmiaru kontenera, w którym znajduje się komponent, a nie całego ekranu. Ułatwia budowę komponentów działających w różnych miejscach strony.
Krytyczny CSS
Style potrzebne do wyświetlenia pierwszego ekranu strony, umieszczane bezpośrednio w kodzie dokumentu, by przyspieszyć pokazanie treści.
Preprocesor
Narzędzie, takie jak Sass czy Less, które kompiluje rozszerzoną składnię do zwykłego CSS. Część jego możliwości trafiła już do samego języka.
Baseline
Oznaczenie funkcji platformy webowej dostępnych we wszystkich głównych przeglądarkach. Pomaga ocenić, czy daną możliwość CSS można już bezpiecznie stosować bez rozwiązań zastępczych.
Pseudoklasa
Selektor opisujący stan lub położenie elementu, na przykład :hover, :focus-visible czy :first-child. Pozwala zmieniać wygląd bez dodawania klas w HTML.
Ulepszanie progresywne
Podejście, w którym strona działa w podstawowej formie wszędzie, a nowsze możliwości przeglądarek dodają kolejne usprawnienia tam, gdzie są obsługiwane.
Refaktoryzacja
Porządkowanie kodu bez zmiany jego zewnętrznego działania. W CSS oznacza między innymi usuwanie nieużywanych reguł, łączenie powtórzeń i obniżanie specyficzności selektorów.
Przeliczenie układu
Ponowne obliczenie położenia i wymiarów elementów strony przez przeglądarkę. Częste przeliczenia, na przykład podczas animacji wymiarów, obciążają procesor i spowalniają reakcję strony.
Jednostka rem
Jednostka długości odnosząca się do rozmiaru pisma głównego elementu dokumentu. Rozmiary w rem skalują się razem z ustawieniem wielkości tekstu w przeglądarce, co ułatwia powiększanie treści.
Porozmawiajmy o Twojej stronie

Nowa strona z czystym kodem albo porządki w obecnym CSS?

Na bezpłatnej konsultacji omówimy projekt albo przejrzymy Twoją stronę i wskażemy, co w stylach najbardziej ją spowalnia i utrudnia rozwój. Zaproponujemy zakres prac: od jednorazowych porządków po zakodowanie nowego szablonu.

4.9/5 - 873

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Komentarze są moderowane.

Porozmawiajmy o Twoim projekcie

Bezpłatnie sprawdzimy Twoją stronę i zaproponujemy plan działań. Odpowiadamy tego samego dnia, dyżur eksperta 24/7.