{"id":90124,"date":"2026-10-16T09:50:00","date_gmt":"2026-10-16T07:50:00","guid":{"rendered":"https:\/\/codescriptum.pl\/blog\/strona-zle-wyglada-na-telefonie\/"},"modified":"2026-10-16T09:50:00","modified_gmt":"2026-10-16T07:50:00","slug":"strona-zle-wyglada-na-telefonie","status":"publish","type":"post","link":"https:\/\/codescriptum.pl\/blog\/strona-zle-wyglada-na-telefonie\/","title":{"rendered":"Strona \u017ale wygl\u0105da na telefonie - przyczyny i jak to naprawi\u0107"},"content":{"rendered":"<p>Strona \u017ale wygl\u0105da na telefonie najcz\u0119\u015bciej z kilku powtarzalnych powod\u00f3w: brakuje znacznika viewport, elementy maj\u0105 sztywn\u0105 szeroko\u015b\u0107, obrazy, tabele lub osadzone mapy s\u0105 szersze ni\u017c ekran, a motyw albo page builder ma nieustawiony widok mobilny. Wi\u0119kszo\u015b\u0107 z nich znajdziesz w narz\u0119dziach przegl\u0105darki i naprawisz bez przebudowy ca\u0142ej strony.<\/p>\n<h2>Jak wygl\u0105da strona, kt\u00f3ra \u017ale dzia\u0142a na telefonie?<\/h2>\n<p>Tekst trzeba powi\u0119ksza\u0107 palcami, strona przesuwa si\u0119 na boki, a przyciski s\u0105 tak blisko siebie, \u017ce \u0142atwo trafi\u0107 w s\u0105siedni. Na komputerze wszystko wygl\u0105da dobrze, dlatego w\u0142a\u015bciciel cz\u0119sto dowiaduje si\u0119 o problemie dopiero od klient\u00f3w.<\/p>\n<ul>\n<li>ca\u0142a strona jest pomniejszona i wygl\u0105da jak wersja komputerowa w miniaturze,<\/li>\n<li>da si\u0119 j\u0105 przewija\u0107 w poziomie, a po prawej stronie wida\u0107 pusty pas,<\/li>\n<li>zdj\u0119cia s\u0105 uci\u0119te, rozci\u0105gni\u0119te albo wychodz\u0105 poza ekran,<\/li>\n<li>tabela z cennikiem jest nieczytelna albo uci\u0119ta,<\/li>\n<li>menu nie otwiera si\u0119 albo nie da si\u0119 go zamkn\u0105\u0107,<\/li>\n<li>pop-up lub baner cookies zas\u0142ania tre\u015b\u0107, a przycisk zamkni\u0119cia jest poza ekranem.<\/li>\n<\/ul>\n<p>Je\u015bli strona wygl\u0105da poprawnie, ale d\u0142ugo si\u0119 \u0142aduje, to inny problem. Opisujemy go we wpisie <a href=\"\/blog\/strona-internetowa-wolno-sie-laduje\/\">strona internetowa wolno si\u0119 \u0142aduje<\/a>.<\/p>\n<h2>Dlaczego strona na telefonie wygl\u0105da inaczej ni\u017c na komputerze?<\/h2>\n<p>Bo telefon ma w\u0105ski ekran, a przegl\u0105darka musi wiedzie\u0107, jak dopasowa\u0107 do niego stron\u0119. Gdy brakuje tej informacji albo elementy maj\u0105 sztywne wymiary, przegl\u0105darka pokazuje pomniejszon\u0105 wersj\u0119 komputerow\u0105 albo tre\u015b\u0107 wychodzi poza ekran.<\/p>\n<h3>Brak znacznika viewport<\/h3>\n<p>W sekcji <code>head<\/code> ka\u017cdej strony powinien by\u0107 znacznik <code>&lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"&gt;<\/code>. Bez niego przegl\u0105darka w telefonie wy\u015bwietla stron\u0119 tak, jakby ekran by\u0142 szeroki, i zmniejsza ca\u0142o\u015b\u0107. Nie dodawaj do niego <code>user-scalable=no<\/code> ani <code>maximum-scale=1<\/code>: wed\u0142ug dokumentacji MDN blokada powi\u0119kszania utrudnia czytanie osobom s\u0142abowidz\u0105cym.<\/p>\n<h3>Sztywne szeroko\u015bci i kolumny<\/h3>\n<p>Kontener z szeroko\u015bci\u0105 ustawion\u0105 w pikselach, np. 1200 px, kilka kolumn obok siebie bez prze\u0142amania na jedn\u0105 albo du\u017ce marginesy wpisane na sta\u0142e sprawiaj\u0105, \u017ce tre\u015b\u0107 nie mie\u015bci si\u0119 na ekranie. Podobnie dzia\u0142aj\u0105 d\u0142ugie adresy e-mail i linki, kt\u00f3re nie \u0142ami\u0105 si\u0119 do nowej linii.<\/p>\n<h3>Obrazy, tabele, mapy i filmy<\/h3>\n<p>Obraz bez ograniczenia <code>max-width: 100%<\/code>, osadzona mapa lub film z ustalon\u0105 szeroko\u015bci\u0105 i tabela z wieloma kolumnami to najcz\u0119stsze \u017ar\u00f3d\u0142a przewijania w poziomie. Tabele wymagaj\u0105 osobnego rozwi\u0105zania: kontenera z przewijaniem albo zamiany na list\u0119 lub karty.<\/p>\n<h3>Za ma\u0142y tekst i za ma\u0142e przyciski<\/h3>\n<p>Tekst g\u0142\u00f3wny mniejszy ni\u017c 16 px trudno czyta\u0107 na telefonie bez powi\u0119kszania. Przyciski i linki powinny mie\u0107 obszar dotyku oko\u0142o 48 px i odst\u0119py oko\u0142o 8 px, tak jak zaleca web.dev. Inaczej palec trafia w s\u0105siedni element, a odwiedzaj\u0105cy si\u0119 irytuje.<\/p>\n<h3>Pop-upy i banery<\/h3>\n<p>Okno zapisu do newslettera albo baner cookies zajmuj\u0105cy ca\u0142y ekran zas\u0142ania tre\u015b\u0107, a na ma\u0142ym telefonie przycisk zamkni\u0119cia bywa niewidoczny. Google w swoich wytycznych zaleca zamiast pe\u0142noekranowych okien niewielkie banery, kt\u00f3re zostawiaj\u0105 tre\u015b\u0107 dost\u0119pn\u0105.<\/p>\n<h3>Ustawienia motywu i page buildera<\/h3>\n<p>Elementor, Divi i podobne narz\u0119dzia maj\u0105 osobne ustawienia dla komputera, tabletu i telefonu. Je\u015bli kto\u015b ustawi\u0142 rozmiary czcionek, marginesy i kolumny tylko w widoku komputera, telefon dostaje je bez zmian. Zdarza si\u0119 te\u017c, \u017ce cz\u0119\u015b\u0107 tre\u015bci jest wy\u0142\u0105czona w widoku mobilnym. Google indeksuje strony g\u0142\u00f3wnie w wersji mobilnej i zaleca, by zawiera\u0142a t\u0119 sam\u0105 g\u0142\u00f3wn\u0105 tre\u015b\u0107 co wersja na komputer.<\/p>\n<table>\n<thead>\n<tr>\n<th>Objaw<\/th>\n<th>Najcz\u0119stsza przyczyna<\/th>\n<th>Poprawka<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Ca\u0142a strona pomniejszona<\/td>\n<td>Brak znacznika viewport<\/td>\n<td>Dodaj meta viewport w motywie<\/td>\n<\/tr>\n<tr>\n<td>Przewijanie na boki<\/td>\n<td>Sztywna szeroko\u015b\u0107, tabela, mapa lub film<\/td>\n<td><code>max-width: 100%<\/code>, tabela w przewijanym kontenerze<\/td>\n<\/tr>\n<tr>\n<td>Za ma\u0142y tekst<\/td>\n<td>Rozmiary ustawione tylko dla komputera<\/td>\n<td>Co najmniej 16 px dla tekstu g\u0142\u00f3wnego<\/td>\n<\/tr>\n<tr>\n<td>Trudno trafi\u0107 w przycisk<\/td>\n<td>Ma\u0142e obszary dotyku<\/td>\n<td>Oko\u0142o 48 px i odst\u0119py mi\u0119dzy elementami<\/td>\n<\/tr>\n<tr>\n<td>Zas\u0142oni\u0119ta tre\u015b\u0107<\/td>\n<td>Pop-up lub du\u017cy baner cookies<\/td>\n<td>Ma\u0142y baner z widocznym zamkni\u0119ciem<\/td>\n<\/tr>\n<tr>\n<td>Inny uk\u0142ad ni\u017c w edytorze<\/td>\n<td>Nieustawiony widok mobilny w builderze<\/td>\n<td>Ustawienia dla telefonu w ka\u017cdej sekcji<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Jak sprawdzi\u0107, jak strona wygl\u0105da na telefonie?<\/h2>\n<p>Najpierw na prawdziwych telefonach, potem w trybie urz\u0105dze\u0144 w Chrome i w Lighthouse. Search Console nie ma ju\u017c raportu obs\u0142ugi na urz\u0105dzeniach mobilnych: Google wycofa\u0142 go razem z testem optymalizacji mobilnej 1 grudnia 2023 r., a jako narz\u0119dzie do oceny wersji mobilnej wskaza\u0142 m.in. Lighthouse.<\/p>\n<ul>\n<li><strong>Prawdziwe telefony:<\/strong> sprawd\u017a stron\u0119 co najmniej na jednym Androidzie i jednym iPhonie, najlepiej tak\u017ce na ma\u0142ym ekranie. Otwieraj opublikowan\u0105 stron\u0119 w oknie incognito, a nie podgl\u0105d w edytorze.<\/li>\n<li><strong>Tryb urz\u0105dze\u0144 w Chrome:<\/strong> naci\u015bnij F12, potem Ctrl+Shift+M, ustaw szeroko\u015b\u0107 360 px i przewi\u0144 ca\u0142\u0105 stron\u0119. Dokumentacja Chrome podkre\u015bla, \u017ce to tylko przybli\u017cenie telefonu, wi\u0119c wynik potwierd\u017a na prawdziwym urz\u0105dzeniu.<\/li>\n<li><strong>Lighthouse:<\/strong> w narz\u0119dziach przegl\u0105darki uruchom audyt dla urz\u0105dzenia mobilnego i przejrzyj uwagi z kategorii u\u0142atwie\u0144 dost\u0119pu.<\/li>\n<li><strong>Search Console:<\/strong> narz\u0119dzie sprawdzania adresu URL po te\u015bcie na \u017cywo pokazuje zrzut ekranu strony widzianej przez robota Google dla smartfon\u00f3w.<\/li>\n<\/ul>\n<p>Element, kt\u00f3ry rozpycha stron\u0119 na boki, najszybciej znajdziesz w konsoli przegl\u0105darki w trybie urz\u0105dze\u0144. Ten kod wypisze wszystkie elementy wychodz\u0105ce poza praw\u0105 kraw\u0119d\u017a ekranu:<\/p>\n<pre><code>document.querySelectorAll('body *').forEach(e =&gt; {\n  if (e.getBoundingClientRect().right &gt; document.documentElement.clientWidth) console.log(e);\n});<\/code><\/pre>\n<div class=\"csb-note csb-note--tip\">\n<p>Poprawki wprowadzaj w motywie potomnym albo w ustawieniach motywu i buildera, a nie przez wklejanie styl\u00f3w do pojedynczych podstron. Inaczej problem wr\u00f3ci przy nast\u0119pnej nowej podstronie albo po aktualizacji motywu.<\/p>\n<\/div>\n<h2>Co sprawdzi\u0107 na telefonie? Kr\u00f3tka lista kontrolna<\/h2>\n<p>Przejd\u017a t\u0119 list\u0119 na ka\u017cdej wa\u017cnej podstronie, najlepiej na dw\u00f3ch r\u00f3\u017cnych telefonach.<\/p>\n<ul>\n<li>strona nie przesuwa si\u0119 w poziomie, tak\u017ce przy tabelach i mapach,<\/li>\n<li>tekst g\u0142\u00f3wny czytasz bez powi\u0119kszania, a nag\u0142\u00f3wki nie \u0142ami\u0105 si\u0119 w po\u0142owie s\u0142owa,<\/li>\n<li>w przyciski i linki trafiasz za pierwszym razem,<\/li>\n<li>menu otwiera si\u0119 i zamyka, a jego pozycje s\u0105 czytelne,<\/li>\n<li>baner cookies i pop-upy da si\u0119 zamkn\u0105\u0107 i nie zas\u0142aniaj\u0105 przycisku kontaktu,<\/li>\n<li>formularz pokazuje odpowiedni\u0105 klawiatur\u0119 i da si\u0119 go wys\u0142a\u0107 bez powi\u0119kszania,<\/li>\n<li>na telefonie wida\u0107 t\u0119 sam\u0105 g\u0142\u00f3wn\u0105 tre\u015b\u0107 co na komputerze.<\/li>\n<\/ul>\n<h2>Kiedy naprawa nie ma sensu?<\/h2>\n<p>Gdy motyw nie by\u0142 projektowany z my\u015bl\u0105 o telefonach i ka\u017cda podstrona wymaga osobnych obej\u015b\u0107. Wtedy rozs\u0105dniej bywa zaprojektowa\u0107 uk\u0142ad od nowa, zaczynaj\u0105c od ma\u0142ego ekranu, a nie dopasowywa\u0107 go na ko\u0144cu. Je\u015bli rozwa\u017casz taki krok, zobacz, jak wygl\u0105daj\u0105 nasze <a href=\"https:\/\/codescriptum.pl\/strony-internetowe\/\">strony internetowe dla firm<\/a> i co obejmuje projekt.<\/p>\n<p>Ten problem jest jednym z naszej listy <a href=\"\/blog\/100-problemow-ze-strona-internetowa\/\">100 problem\u00f3w ze stron\u0105 internetow\u0105 firmy<\/a>, w kt\u00f3rej osobna grupa dotyczy wersji mobilnej: menu, formularzy, slider\u00f3w i r\u00f3\u017cnic mi\u0119dzy Androidem a iPhonem.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Strona \u017ale wygl\u0105da na telefonie najcz\u0119\u015bciej z kilku powtarzalnych powod\u00f3w: brakuje znacznika viewport, elementy maj\u0105 sztywn\u0105 szeroko\u015b\u0107, obrazy, tabele lub osadzone mapy s\u0105 szersze ni\u017c ekran, a motyw albo page\u2026<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31],"tags":[],"class_list":["post-90124","post","type-post","status-publish","format-standard","hentry","category-strony-internetowe"],"_links":{"self":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/posts\/90124","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/comments?post=90124"}],"version-history":[{"count":0,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/posts\/90124\/revisions"}],"wp:attachment":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/media?parent=90124"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/categories?post=90124"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/tags?post=90124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}