Przejdź do zawartości
Menu główne
Menu główne
przypnij
ukryj
Nawigacja
Strona główna
Ostatnie zmiany
Losowa strona
Pomoc z MediaWiki
Mazovia
Szukaj
Szukaj
Utwórz konto
Zaloguj się
Narzędzia osobiste
Utwórz konto
Zaloguj się
Strony dla anonimowych edytorów
dowiedz się więcej
Edycje
Dyskusja
Edytujesz
Display inline psuje układ, bo zapominasz o wysokości linii
Strona
Dyskusja
polski
Czytaj
Edytuj
Edytuj źródło
Wyświetl historię
Narzędzia
Narzędzia
przypnij
ukryj
Działania
Czytaj
Edytuj
Edytuj źródło
Wyświetl historię
Ogólne
Linkujące
Zmiany w linkowanych
Strony specjalne
Informacje o tej stronie
Uwaga:
Nie jesteś zalogowany. Jeśli wykonasz jakąkolwiek zmianę, Twój adres IP będzie widoczny publicznie. Jeśli
zalogujesz się
lub
utworzysz konto
, Twoje zmiany zostaną przypisane do konta, wraz z innymi korzyściami.
Filtr antyspamowy.
Nie
wpisuj tu nic!
Kluczowa rzecz: flex-basis działa tylko na bezpośrednich dzieciach kontenera flex. Jeśli ustawisz procent na wnuku, który nie jest elementem flex, nic się nie stanie. Drugi warunek: rodzic musi mieć określoną szerokość lub wysokość, bo procent z niczego nie policzy się poprawnie. Gdy rodzic jest elementem inline, ma width: auto albo jego rozmiar zależy tylko od zawartości, procent może zostać zignorowany lub policzony w nieprzewidywalny sposób. Najprostsze zabezpieczenie to nadanie rodzicowi konkretnej szerokości, max-width albo display: flex z określonym rozmiarem.<br><br>Drugi typowy błąd to ustawianie line-height na dużych wartościach przy elementach inline-block. Wysoka linia nie wyrównuje elementu do tekstu, tylko dodaje puste pole nad i pod nim. Element nadal siedzi na linii bazowej, więc odstęp rośnie nierównomiernie. Zamiast zwiększać line-height, lepiej ustawić vertical-align na top albo bottom i ewentualnie skorygować marginesem. Podobnie z paddingiem — padding zwiększa wysokość elementu, ale nie przesuwa jego linii bazowej, więc górna krawędź ucieka w górę i psuje rytm wiersza.<br><br>Selektor to sposób, w jaki arkusz stylów albo skrypt odnajduje konkretny fragment dokumentu. W CSS i w JavaScripcie masz do dyspozycji trzy podstawowe narzędzia: znacznik, klasę i identyfikator. Wybór między nimi nie jest kwestią gustu — decyduje o tym, jak łatwo później zmienisz wygląd strony i jak bardzo kod stanie się odporny na błędy.<br><br>Zanim zmienisz display, sprawdź, czy element ma zachowywać się jak fragment tekstu czy jak niezależny prostokąt. Do pierwszego użyj inline, do drugiego block, a inline-block tylko wtedy, gdy naprawdę potrzebujesz obu cech naraz. Jeśli układ ma być elastyczny, lepszym rozwiązaniem od inline-block jest flex lub grid — nie walcz z odstępami między znakami, których inline-block sam nie usunie.<br><br>Sprawdzaj, czy problem dotyczy samego rodzica, czy także dzieci. Jeśli dziecko ma display: inline-block albo display: inline, flex i tak potraktuje je jako element flex. Nowa linia w tekście wewnątrz takiego elementu działa normalnie, ale przenoszenie całych bloków do kolejnego wiersza już nie. Kolejna pułapka to białe znaki w HTML — przy flexie nie generują odstępów między elementami, więc nie da się nimi sterować jak przy blokach.<br><br>Co ustawić, żeby górna krawędź i linia bazowa przestały walczyć Najprościej sięgnąć po właściwość vertical-align. Wartość top wyrównuje górną krawędź elementu do górnej krawędzi najwyższego elementu w linii. Wartość bottom robi to samo z dolną krawędzią. Wartość middle ustawia środek elementu na wysokości połowy wysokości x fontu — to przydaje się przy ikonach obok tekstu. Wartość baseline zostawia domyślne zachowanie i właśnie ona najczęściej psuje układ. Warto pamiętać, że vertical-align działa tylko na elementach inline i inline-block, a nie na blokach ani elementach flex.<br><br>Na koniec kilka zasad, które oszczędzają czas. Po pierwsze, testuj w przeglądarce z podświetlaniem flexa — narzędzia deweloperskie pokazują osie i rozmiary. Po drugie, nie ustawiaj szerokości na sztywno, jeśli używasz flex-grow; lepiej operować na proporcjach. Po trzecie, pamiętaj, że Flexbox działa tylko w obrębie jednego wymiaru — albo rząd, albo kolumna. Jeśli potrzebujesz układu dwuwymiarowego, sięgnij po Grid. I wreszcie: nie bój się eksperymentować na małym przykładzie, zanim wdrożysz flexa do całego layoutu. Zrozumienie osi głównej to połowa sukcesu.<br><br>Elementy HTML domyślnie zachowują się w układzie na jeden z dwóch sposobów: jedne łamią linię przed sobą i po sobie, inne wchodzą w tekst jak słowa. Wartość display decyduje, czy element tworzy własny blok, czy tylko fragment wiersza. Zrozumienie tej różnicy rozwiązuje większość problemów z pionowymi odstępami i wysokością kontenerów, które na pierwszy rzut oka wyglądają na błąd przeglądarki.<br><br>Elementy ustawione jako inline-block zachowują się inaczej niż zwykłe bloki. Siadają w linii tekstu jak znaki, więc podlegają regułom typografii — między innymi wyrównaniu do linii bazowej. Domyślnie przeglądarka ustawia ich dolną krawędź dokładnie na linii bazowej otaczającego tekstu. Jeśli element ma wysokość większą niż wysokość fontu, jego dolna krawędź nie pokrywa się z dołem wiersza i cała linia zaczyna się rozjeżdżać. To najczęstsza przyczyna tego, że przycisk albo kafelek nagle „unosi" sąsiedni tekst o kilka pikseli w górę.<br><br>Typowy błąd to ustawianie height na elemencie inline i zdziwienie, że nic się nie dzieje. Drugi to próba wyśrodkowania inline-blocka przez margin: auto — to działa tylko dla bloku z określoną szerokością. Trzeci to mieszanie inline-blocków z blokami w jednym wierszu i walka z pionowym rytmem, którego źródłem jest właśnie line-height rodzica, a nie same elementy.
Opis zmian:
Wszelki wkład na Mazovia może być edytowany, zmieniany lub usunięty przez innych użytkowników. Jeśli nie chcesz, żeby Twój tekst był dowolnie zmieniany przez każdego i rozpowszechniany bez ograniczeń, nie umieszczaj go tutaj.
Zapisując swoją edycję, oświadczasz, że ten tekst jest Twoim dziełem lub pochodzi z materiałów dostępnych na warunkach
domeny publicznej
lub kompatybilnych (zobacz także
Mazovia:Prawa autorskie
).
PROSZĘ NIE WPROWADZAĆ MATERIAŁÓW CHRONIONYCH PRAWEM AUTORSKIM BEZ POZWOLENIA WŁAŚCICIELA!
Anuluj
Pomoc w edycji
(otwiera się w nowym oknie)
Przełącz ograniczenie szerokości strony