KWALIFIKACJA PGF4 - CZERWIEC 2015

PYTANIE NR 23.
W zewnętrznym arkuszu stylów, powiązanym z pewną stroną internetową, jest zapis:
img {border : 3px solid black ; margin: 20px} ,
a w wewnętrznym arkuszu stylów tej strony:
img {border-color : red} .
Jeżeli w sekcji body zostanie wpisane:
<img src = “obrazki/fotol9.jpg " styl e = “margin: 15px" />
to obrazek foto19.jpg będzie wyświetlony z
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Styl inline ustawiony w atrybucie style nadpisuje reguły z arkuszy, więc margines wyniesie 15 px. Kolor obramowania z arkusza wewnętrznego (border-color: red) nadpisze kolor z reguły zewnętrznej, a pozostałe cechy obramowania (3 px, solid) pozostaną bez zmian.

Pełne wyjaśnienie:

W zadaniu działają jednocześnie trzy poziomy stylów CSS: arkusz zewnętrzny, arkusz wewnętrzny oraz styl inline zapisany bezpośrednio przy elemencie. Zasada kaskady mówi, że przy tym samym selektorze i tej samej ważności wyżej stoi styl bardziej "lokalny". W praktyce: style inline ma wyższy priorytet niż reguły z arkuszy.

Dla elementu <img> w arkuszu zewnętrznym ustawiono: border: 3px solid black oraz margin: 20px. Następnie w arkuszu wewnętrznym pojawia się reguła img { border-color: red }. To nie usuwa obramowania, tylko nadpisuje jego składową: kolor. Grubość (3 px) i styl linii (solid) nadal wynikają z deklaracji border.

W samym znaczniku <img> podano jeszcze style="margin: 15px". Ponieważ jest to styl inline, przeglądarka zastosuje margines 15 px zamiast 20 px z arkusza zewnętrznego.

  • Poprawny wniosek: obramowanie będzie miało kolor czerwony (z border-color), a margines 15 px (ze stylu inline).
  • Odpowiedź z czarną ramką jest błędna, bo kolor obramowania został jawnie nadpisany w arkuszu wewnętrznym.
  • Odpowiedź z marginesem 20 px jest błędna, bo margines został nadpisany przez styl inline elementu.

Na egzaminie warto pamiętać skrót: inline > wewnętrzny > zewnętrzny (dla porównywalnych selektorów), a także że właściwości typu border mają składowe, które można zmieniać osobno.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Kaskada CSS to zestaw reguł, które decydują, który styl wygrywa, gdy kilka deklaracji dotyczy tego samego elementu. Brane są pod uwagę m.in. źródło stylu (inline, wewnętrzny, zewnętrzny), specyficzność selektora oraz kolejność w kodzie. Dzięki temu można przewidzieć finalny wygląd.
Styl inline jest zapisany bezpośrednio w elemencie HTML, więc traktuje się go jako najbardziej "lokalny". Dlatego w typowych konfliktach nadpisuje reguły z arkusza zewnętrznego i wewnętrznego. To wygodne do szybkich poprawek, ale w projektach lepiej ograniczać inline, by utrzymać porządek w CSS.
To właściwość skrótowa border, która jednocześnie ustawia trzy cechy obramowania: grubość (3px), styl linii (solid) i kolor (black). Każdą z tych cech można później nadpisać osobno, np. przez border-color bez zmiany grubości i stylu linii.
border-color nadpisuje tylko kolor obramowania. Jeśli wcześniej ustawiono border, to obramowanie już istnieje (ma styl i grubość), a border-color zmienia wyłącznie barwę. W efekcie można np. zostawić 3px i solid, a zmienić czarny na czerwony.
Często tak, ale nie zawsze. Jeśli selektory mają podobną specyficzność i nie ma !important, to reguły z arkusza wewnętrznego zwykle są później wczytane i wygrywają. Jednak bardziej specyficzny selektor w arkuszu zewnętrznym może pokonać mniej specyficzny w wewnętrznym.
Najczęściej myli się kolejność priorytetów (inline/wewnętrzny/zewnętrzny) oraz zakłada, że zmiana jednej składowej border "kasuje" całe obramowanie. Częsty błąd to też pomylenie margin (odstęp na zewnątrz) z padding (odstęp wewnątrz).
Użyj DevTools (Narzędzia deweloperskie): kliknij prawym na obrazek i wybierz "Zbadaj/Inspect". W panelu "Styles" zobaczysz listę reguł w kolejności priorytetu oraz co zostało nadpisane. Zakładka "Computed" pokaże finalne wartości, np. końcowy margin i border-color.
Inline bywa użyteczny w prototypach lub do jednorazowych wyjątków, gdy trzeba szybko coś sprawdzić. W projektach produkcyjnych lepiej unikać inline, bo utrudnia utrzymanie spójności i ponowne użycie stylów. Zamiast tego zwykle stosuje się klasy CSS w arkuszu zewnętrznym.
Margin tworzy odstęp na zewnątrz elementu, czyli "przestrzeń" między obrazem a innymi elementami strony. Padding tworzy odstęp wewnątrz elementu, między treścią a obramowaniem. Dla <img> padding zwiększa dystans obrazu od ramki, a margin odsuwa cały obraz od otoczenia.
Selektor typu img ma niską specyficzność (dotyczy wszystkich obrazów). Łatwo go nadpisać klasą (np. .miniatura) lub identyfikatorem (np. #logo). W zadaniach egzaminacyjnych często porównuje się właśnie taki selektor z regułami wewnętrznymi i stylem inline.
info

Statystycznie 53% uczniów zna prawidłową odpowiedź. trudne

Według specjalistów z branży: "Styl inline ustawiony w atrybucie style nadpisuje reguły z arkuszy, więc margines wyniesie 15 px."

Źródła:

  • MDN Web Docs: "Cascade and inheritance" (sekcja o źródłach stylów i kolejności), https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Cascade_and_inheritance - accessed 2026-03-02
  • MDN Web Docs: "Specificity" (zasady rozstrzygania konfliktów), https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity - accessed 2026-03-02
  • MDN Web Docs: "border" (właściwość skrótowa i jej składowe), https://developer.mozilla.org/en-US/docs/Web/CSS/border - accessed 2026-03-02

Materiały:

  • Dokumentacja MDN: CSS Cascade i Specificity
  • Dokumentacja MDN: border, border-color, margin
  • Specyfikacja CSS Cascading and Inheritance (W3C/W3C TR)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego