Absolute a relative: do którego przodka przyklei się element
Powstaje więc pytanie, jak sensownie opisać grupę pól, skoro pojedynczy label nie wystarczy. Rozwiązanie jest jedno i dobrze znane: zestaw pól opakowuje się w element fieldset, a opis całej grupy umieszcza się w legend. Wtedy każdy input dostaje własny, krótki label — na przykład „Dzień", „Miesiąc", „Rok" — a legend opisuje całość, na przykład „Data urodzenia". Czytnik ekranu odczyta najpierw nazwę grupy, potem nazwę konkretnego pola, dzięki czemu użytkownik nie zgubi się w formularzu.
Najczęstsze błędy przy pierwszym pliku to brak doctype, pomylenie kolejności head i body, nie zamknięte znaczniki oraz zapis pliku w innym kodowaniu niż zadeklarowane. Zanim uznasz, że coś nie działa, sprawdź walidatorem, czy struktura jest poprawna. Przeglądarka wybacza wiele, ale nie wszystkie pomyłki — a szkielet, który przejdzie walidację, oszczędza godziny szukania przyczyn dziwnych zachowań.
Zrozumienie trzech warstw pozwala przewidzieć układ bez ciągłego poprawiania. Gdy element zachowuje się inaczej, niż zakładasz, sprawdź po kolei: czy padding nie rozpycha środka, czy border nie dodaje pikseli, czy margines się nie zapada. Ta kolejność rozwiązywania problemów oszczędza czas i eliminuje większość błędów w layoutcie.
Dobry stos czcionek to nie lista życzeń, lecz plan awaryjny. Krój główny buduje charakter, kolory ścian do salonu zapasowe chronią przed katastrofą, a rodzina ogólna gwarantuje, że tekst zawsze będzie czytelny. Zanim wdrożysz nową typografię, sprawdź, co się stanie, gdy zabraknie pierwszego kroju — to najprostszy test, który oszczędza późniejszych poprawek.
Nie przenoś wszystkiego naraz. Wybierz jeden najbardziej problematyczny fragment — zwykle jest to karta produktu albo formularz — i nazwij go od nowa mieszkanie w bloku BEM. Reszta styli zostaje bez zmian. Nowy kod traktuj jako wzorzec, do którego będziesz powoli dążyć przy kolejnych zmianach. W małym projekcie kluczowe jest to, żeby konwencja nie stała się celem samym w sobie; nowe komponenty pisz już w BEM, a stare poprawiaj tylko wtedy, gdy i tak przy nich pracujesz.
Gdy ustawiasz elementowi position: absolute, przeglądarka szuka dla niego punktu odniesienia. Nie jest nim okno przeglądarki ani środek strony, tylko najbliższy przodek, który ma ustawione position inne niż static. Wartość static jest domyślna, więc większość elementów w dokumencie nie tworzy takiego punktu. Dopiero gdy rodzic lub dziadek dostanie relative, absolute, fixed albo sticky, element potomny zaczyna się do niego pozycjonować.
Zacznij od deklaracji typu dokumentu. W pierwszej linii pliku zapisz — dokładnie tak, wielkimi literami i bez żadnych dodatków. To nie znacznik HTML, tylko instrukcja dla przeglądarki, że ma użyć standardowego trybu renderowania. Pominięcie tej linii albo wpisanie starej, długiej deklaracji z numerami wersji powoduje, że przeglądarka przechodzi w tryb zgodności i interpretuje model pudełkowy po swojemu. Objawia się to rozjechanym layoutem, którego nie da się naprawić stylami, dopóki nie poprawisz pierwszej linii.
Head to nie miejsce na treść widoczną na stronie Sekcja head zawiera metadane — informacje o dokumencie, a nie jego treść. Minimum to jako pierwszy element w head oraz z opisem strony. Kolejność ma znaczenie: deklaracja kodowania musi pojawić się w pierwszych kilkudziesięciu bajtach pliku, inaczej przeglądarka zdąży zgadnąć inne kodowanie i polskie znaki się rozsypią. Do head trafiają też dla urządzeń mobilnych oraz do arkusza stylów. Częsty błąd: wrzucanie do head tekstu, który ma być widoczny — przeglądarka go ukryje, a początkujący szuka potem winy w CSS.
Najczęstszy błąd to dodawanie paddingu, gdy problemem jest margines. Gdy tekst dotyka krawędzi przycisku, zwiększ padding. Gdy przycisk przykleja się do sąsiedniej sekcji, zwiększ margin. Warto też pamiętać, wykońCzenie wnętrz że padding wchodzi w szerokość elementu przy domyślnym modelu box-sizing. Ustawienie box-sizing: border-box sprawia, że padding i border są wliczane do zadanej szerokości, co ratuje przed rozjeżdżaniem się kolumn w siatce.
Najbezpieczniejsza praktyka jest prosta: nadawaj relative tylko temu elementowi, który faktycznie ma być punktem odniesienia, i rób to możliwie blisko elementu absolutnego. Nie rozrzucaj relative po całym drzewie bez powodu, bo później trudno przewidzieć, gdzie wyląduje potomek. Gdy przesunięcia nie działają zgodnie z oczekiwaniem, najpierw sprawdź łańcuch przodków, a dopiero potem wartości top i left. W dziewięciu na dziesięć przypadków problemem nie jest sam element, tylko przodek, który nie ma ustawionego position albo ma je ustawione tam, gdzie nikt się nie spodziewał.
Uważaj na kilka typowych pułapek. Po pierwsze, absolute ignoruje margin rodzica w taki sposób, w jaki intuicyjnie się tego oczekuje tylko w niektórych przypadkach — krawędzią odniesienia jest tak zwany padding box, więc padding na rodzicu przesuwa punkt startowy, a border już nie. Po drugie, element absolutny nie rozciąga rodzica, więc rodzic może zapaść się do wysokości zero. Wtedy trzeba nadać mu jawną wysokość albo minimalną wysokość. Po trzecie, z-index działa tylko na elementach pozycjonowanych — bez position go nie ustawisz.
If you have any inquiries regarding where and the best ways to make use of więcej szczegółów, you could call us at our internet site.