KWALIFIKACJA INF3 - CZERWIEC 2021

PYTANIE NR 26.
Wskaż kod CSS odpowiadający układowi bloków 2 - 5, zakładając, że są one zbudowane w oparciu o przedstawiony kod HTML.
Ilustracja przedstawia diagram z pięcioma blokami oraz fragmenty kodu CSS, które mają za zadanie określić układ tych bloków.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawna jest odpowiedź "Kod 2."
Aby dopasować CSS do układu bloków 2–5, trzeba przeanalizować strukturę HTML (rodzic–dzieci) oraz właściwości wpływające na rozmieszczenie (np. sposób wyświetlania i pozycjonowanie). "Kod 2." jako jedyny daje efekt zgodny z pokazanym układem; pozostałe kody zmieniają rozmieszczenie elementów.

Pełne wyjaśnienie:

W zadaniach tego typu kluczowe jest powiązanie struktury HTML z tym, jak przeglądarka oblicza i rysuje układ na podstawie reguł CSS. Bloki 2–5 są elementami potomnymi (lub znajdują się w określonej relacji w drzewie DOM), więc o ich położeniu decyduje m.in.:

  • display (np. układ blokowy, układ elastyczny, siatka),
  • position (statyczne, relatywne, absolutne) oraz ewentualne przesunięcia,
  • float/clear (jeśli zastosowano opływanie),
  • wymiary i odstępy (width/height oraz margin/padding),
  • kolejność elementów w HTML i specyficzność selektorów.

Odpowiedź "Kod 2." jest poprawna, ponieważ to właśnie ten wariant stylów odpowiada układowi bloków 2–5 pokazanemu w zadaniu (w kontekście podanego HTML). W praktyce oznacza to, że zastosowane w nim właściwości układu i/lub reguły dla właściwych selektorów powodują dokładnie takie rozmieszczenie elementów, jakie jest wymagane.

Pozostałe propozycje są błędne, bo prowadzą do innego mechanizmu layoutu albo stylują niewłaściwe elementy. Typowe rozbieżności to:

  • ustawienie układu w jednej kolumnie zamiast w wierszu/siatce,
  • brak zawijania elementów i "rozjechanie" układu,
  • pozycjonowanie wyrywające elementy z normalnego przepływu dokumentu,
  • brak właściwości wyrównania/rozmieszczenia, przez co odstępy i położenie nie zgadzają się z układem docelowym.

Wskazówka egzaminacyjna: w pierwszej kolejności sprawdź, który element jest kontenerem dla bloków 2–5 i jakie ma reguły. Następnie zweryfikuj, czy reguły dotyczą właściwych selektorów (np. klasy/identyfikatory) i czy użyta technika (blokowa/flex/grid/float) rzeczywiście daje układ z ilustracji.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Najprościej sprawdzić właściwość display kontenera. Flexbox zwykle używa display: flex, a Grid display: grid. Potem patrz na typowe właściwości: dla Flexbox flex-direction, justify-content, align-items; dla Grid grid-template-columns, gap, grid-area.
Decyduje kombinacja: struktury HTML (który element jest rodzicem), reguł CSS dopasowanych selektorami oraz mechanizmu layoutu (normalny przepływ, flex, grid, float, pozycjonowanie). Nawet drobna zmiana, np. margin albo position, może całkowicie zmienić wynikowy układ.
Bo w układzie blokowym elementy z display: block domyślnie zajmują całą szerokość linii i przechodzą do nowej linii, nawet jeśli mają mniejszą width. Aby ułożyć je obok siebie, zwykle potrzebujesz Flexbox, Grid, float albo inline-block (z uwzględnieniem ich ograniczeń).
Najczęściej: błędne box-sizing, niezamierzone marginesy, brak ograniczenia szerokości kontenera, niewłaściwe flex-wrap lub zła definicja siatki w Grid. Częstym powodem jest też pozycjonowanie absolutne, które wyciąga element z normalnego przepływu.
Tak. W DevTools (np. Chrome/Firefox) wybierz element i sprawdź panel Styles oraz Computed. Zobaczysz, które reguły są aktywne, które nadpisane, i z jakiego pliku/linijki pochodzą. To najszybsza metoda dopasowania "kodu 1–4" do efektu na stronie.
Specyficzność określa, która reguła wygra, gdy kilka pasuje do elementu. Selektory z identyfikatorami są zwykle "silniejsze" niż klasowe, a te silniejsze niż tagowe. W zadaniach porównujących fragmenty CSS różnica w selektorach może powodować, że ten sam zestaw właściwości realnie nie zadziała na bloki 2–5.
Element "wyjęty" (np. przy position: absolute) nie zajmuje miejsca w normalnym układzie, więc pozostałe elementy zachowują się tak, jakby go nie było. To często powoduje nakładanie się bloków lub brak oczekiwanych odstępów. Dlatego trzeba uważać, gdy kod CSS używa pozycjonowania.
Najczęstsze: brak clear lub "czyszczenia" floatów na kontenerze (np. clearfix), przez co kontener ma wysokość 0 albo kolejne elementy wchodzą pod opływające. Uczniowie też mylą float z nowoczesnymi metodami (flex/grid) i nie sprawdzają efektu opływania tekstu i bloków.
Grid jest lepszy, gdy układ jest dwuwymiarowy (wiersze i kolumny naraz) i chcesz precyzyjnie zdefiniować siatkę. Flexbox zwykle jest wygodniejszy dla układów jednowymiarowych (jeden wiersz lub jedna kolumna). W zadaniach o blokach 2–5 wybór zależy od tego, czy układ przypomina siatkę.
Ćwicz odtwarzanie prostych layoutów w edytorze (np. CodePen) i analizę w DevTools. Utrwal działanie display, Flexbox i Grid oraz box model. Na egzaminie czytaj najpierw HTML, potem szukaj w CSS reguł dla kontenera i jego dzieci — to najszybciej prowadzi do poprawnej opcji.
info

To pytanie poprawnie rozwiązuje 54% zdających egzamin. trudne

W praktyce zawodowej kluczowe jest to, że "Kod 2." jako jedyny daje efekt zgodny z pokazanym układem; pozostałe kody zmieniają rozmieszczenie elementów.

Źródła:

  • W3C Candidate Recommendation: CSS Flexible Box Layout Module Level 1, https://www.w3.org/TR/css-flexbox-1/ (dostęp: 2026-02-27)
  • W3C Recommendation: CSS Grid Layout Module Level 1, https://www.w3.org/TR/css-grid-1/ (dostęp: 2026-02-27)
  • MDN Web Docs: CSS Layout, https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja MDN: CSS Layout (sekcje o display, position, flex, grid)
  • Specyfikacje W3C dla Flexbox i CSS Grid (dla utrwalenia zasad)
  • Ćwiczenia praktyczne: odtwarzanie układów z makiet w CodePen/JSFiddle

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego