Przejdź do treści
INF.03 · część pisemna

Projektowanie stron i frontend (HTML5 i CSS3)

Przed Tobą 10 pytań w formule egzaminu CKE.

Pytanie 1 / 10Programowanie
Element ma reguły: width: 300px; padding: 20px; border: 5px solid #333333; margin: 10px; przy domyślnej wartości box-sizing. Jaka będzie widoczna szerokość elementu na ekranie?
Wszystkie 10 pytań z wyjaśnieniamiRozwiń, jeśli wolisz przejrzeć zestaw bez rozwiązywania testu.

Model pudełkowy, specyficzność selektorów, znaczniki semantyczne, formularze, pozycjonowanie, jednostki em i rem oraz właściwości Flexboksa.

1.Element ma reguły: width: 300px; padding: 20px; border: 5px solid #333333; margin: 10px; przy domyślnej wartości box-sizing. Jaka będzie widoczna szerokość elementu na ekranie?

  • A.300 px
  • B.340 px
  • C.350 px— poprawna
  • D.370 px
Dlaczego: Domyślny content-box odnosi zadeklarowaną szerokość wyłącznie do obszaru treści, więc dopełnienie i obramowanie doklejane są na zewnątrz: 300 + 2 razy 20 + 2 razy 5 = 350. Wynik 370 kusi, bo dolicza marginesy, a te nigdy nie wchodzą w szerokość pudełka — powiększają jedynie miejsce zajmowane w układzie.

2.Element ma ustawione box-sizing: border-box, width: 300px, padding: 25px oraz border: 5px. Ile pikseli zostanie dla samego obszaru treści?

  • A.240 px— poprawna
  • B.250 px
  • C.300 px
  • D.360 px
Dlaczego: Przy border-box deklarowana szerokość obejmuje treść, dopełnienie i obramowanie razem, więc pudełko nie rośnie — kurczy się treść: 300 minus 2 razy 25 minus 2 razy 5 daje 240. Odpowiedź 360 to wynik liczony odruchowo jak w modelu content-box, a 300 opisuje całe pudełko, a nie jego wnętrze.

3.Do tego samego odnośnika pasują cztery reguły ustawiające kolor tekstu. Która z nich zadecyduje o wyglądzie odnośnika?

  • A.nav ul li a { color: green; }
  • B..menu a { color: blue; }
  • C.#naglowek a { color: red; }— poprawna
  • D.header nav a.link { color: teal; }
Dlaczego: Punkty sumuje się ze składników selektora: cztery elementy dają 4, klasa z elementem 11, trzy elementy z klasą 13, a identyfikator z elementem aż 101. Jeden identyfikator przebija dowolną liczbę klas i elementów, dlatego ocenianie specyficzności po długości zapisu prowadzi do wskazania najdłuższego selektora zamiast najsilniejszego.

4.Do akapitu pasują cztery deklaracje koloru: p { color: green; }, dalej w tym samym pliku p { color: navy; }, styl inline w atrybucie style ustawiający kolor pomarańczowy oraz reguła .tresc p { color: teal !important; }. Jaki kolor zobaczy użytkownik?

  • A.zielony
  • B.granatowy
  • C.pomarańczowy
  • D.morski (teal)— poprawna
Dlaczego: Dopisek !important przebija całą kaskadę, łącznie ze stylem inline, który normalnie ma najwyższy priorytet wyceniany na 1000 punktów — i to on kusi jako odpowiedź. Gdyby !important usunąć, wygrałby styl inline, a spośród dwóch identycznych reguł p wybrana zostałaby ta zapisana później, bo przy równej specyficzności rozstrzyga kolejność w arkuszu.

5.Na stronie serwisu trzeba oznaczyć pojedyncze ogłoszenie, które zachowuje pełny sens po wyjęciu ze strony i opublikowaniu osobno. Który znacznik jest właściwy?

  • A.section
  • B.article— poprawna
  • C.aside
  • D.div
Dlaczego: Test na article brzmi: czy da się tę treść opublikować samodzielnie. Section to tematycznie spójny fragment większej całości, zwykle z własnym nagłówkiem, aside oznacza treść poboczną, czyli znaczenie, a nie położenie przy prawej krawędzi, natomiast div nie niesie żadnego znaczenia i służy wyłącznie do grupowania oraz stylowania.

6.Element html ma domyślny rozmiar pisma 16 px, a kontener .karta ustawia font-size: 20px. Jaki rozmiar dostanie akapit leżący w tym kontenerze przy font-size: 1.5em, a jaki przy font-size: 1.5rem?

  • A.24 px oraz 30 px
  • B.30 px oraz 24 px— poprawna
  • C.30 px oraz 30 px
  • D.24 px oraz 24 px
Dlaczego: Jednostka em liczy się od rozmiaru pisma rodzica, czyli 1,5 razy 20 daje 30 px, a rem zawsze od elementu html, czyli 1,5 razy 16 daje 24 px. Zamiana obu wartości miejscami to typowa pomyłka; dodatkowo przy zagnieżdżaniu em mnoży się poziom po poziomie, przez co tekst niepostrzeżenie rośnie, a rem takiego efektu kuli śnieżnej nie ma.

7.Pole tekstowe zapisano jako input z atrybutami type='text' oraz id='mail', bez atrybutu name. Co stanie się z jego zawartością po wysłaniu formularza metodą POST?

  • A.Pole w ogóle nie zostanie wysłane do skryptu— poprawna
  • B.Dane trafią do skryptu pod kluczem 'mail'
  • C.Dane trafią do skryptu pod kluczem 'text'
  • D.Dane trafią do skryptu jako pierwszy element tablicy
Dlaczego: O wysłaniu decyduje wyłącznie atrybut name i to on staje się kluczem tablicy odbieranej przez skrypt. Identyfikator id służy do powiązania etykiety, bo atrybut for wskazuje właśnie id, oraz do stylów i skryptów — stąd złudzenie, że wystarczy. Objaw jest klasyczny: przeglądarka nie zgłasza błędu, a skrypt nie dostaje żadnych danych.

8.Formularz ma przesłać plik wybrany polem input type='file'. Jakie ustawienia musi mieć znacznik form?

  • A.method='get' oraz enctype='multipart/form-data'
  • B.method='post' oraz atrybut novalidate
  • C.method='post' oraz enctype='multipart/form-data'— poprawna
  • D.method='get' oraz atrybut target o wartości _blank
Dlaczego: Przesyłanie plików wymaga kodowania multipart/form-data razem z metodą POST, ponieważ GET dokleja dane do adresu i ma ograniczoną długość, więc zawartości pliku nie przeniesie. Atrybut novalidate jedynie wyłącza wbudowaną walidację przeglądarki, a target decyduje o oknie z odpowiedzią — żaden z nich nie wpływa na sposób wysyłki.

9.Nagłówek strony ma być przyklejony do górnej krawędzi okna i pozostać widoczny przez całe przewijanie, już od pierwszego piksela dokumentu. Które ustawienie to realizuje?

  • A.position: static; top: 0;
  • B.position: fixed; top: 0;— poprawna
  • C.position: relative; top: 0;
  • D.position: absolute; top: 0;
Dlaczego: Tylko fixed pozycjonuje względem okna przeglądarki i nie przewija się razem ze stroną. Relative przesuwa element względem jego pierwotnego miejsca, zostawiając po nim pustą lukę, absolute odnosi się do najbliższego przodka o pozycjonowaniu innym niż static i wędruje z dokumentem, przy static wartości top oraz z-index są ignorowane, a sticky przykleiłby się dopiero po osiągnięciu progu.

10.Kontener ma ustawione display: flex oraz flex-direction: column. Która właściwość wyśrodkuje elementy potomne w pionie?

  • A.align-items: center
  • B.align-content: center
  • C.vertical-align: middle
  • D.justify-content: center— poprawna
Dlaczego: Justify-content zawsze steruje osią główną, a align-items osią poprzeczną. Po ustawieniu wartości column oś główna biegnie pionowo, więc role się zamieniają i to justify-content odpowiada za pion — odruchowe wskazanie align-items działa tylko dla domyślnego kierunku row. Właściwość vertical-align dotyczy elementów liniowych i komórek tabeli, nie kontenera flex.

To nie koniec powtórki

Przećwicz kolejny zestaw i utrwal materiał przed egzaminem.

Dalej: Programowanie po stronie klienta (JavaScript)