Wprawdzie gdzieś ten temat był na liście „do opracowania”, ale raczej jego priorytet był dość niski, i pewnie jeszcze długo by sobie czekał, gdyby nie to, że rano dostałem link od znajomego do jednego z serwisów o „czasem podobnej tematyce”, gdzie jeden z komentujących „miał prośbę, by zrobić coś z justowaniem na mniejszych urządzeniach”.
Sam z justowania tekstu korzystam chętnie, choć przyznaje, że na mniejszych ekranach (w mniejszych rozdzielczościach) sprawuje się ono średnio, i często w kolumnie tekstu mamy dziury, których pozazdrościłby niejeden ser żółty.
Spis treści w artykule
Bez justowania na urządzeniach mobilnych
Przeczytałem wymianę komentarzy, z której poza jakby wzajemną irytacją obu stron (komentujący, i autor) nic sensownego nie wniknęło, nawet jakiejś próby ratowania sytuacji przez jednego z czytelników (i komentatorów) udzielającego się również i na naszej stronie (pozdrawiam, mam nadzieje, że przeczyta, i będzie wiedział, że chodzi o niego bez zbytecznego „naprowadzania”) niewiele chyba w temacie pomogły.
W każdym razie – o ile za justowaniem jestem (ale wiem, że są tacy, co go nie cierpią w żadnej postaci), to dla urządzeń o mniejszej przekątnej ekranu (i/lub rozdzielczości) warto rozważyć zastosowanie klasycznego wyrównania do lewej strony, zwłaszcza że nie trzeba do tego jakiejś wielkiej „aktualizacji szablonu”, choć też nie wystarczy „dosłownie jedna linijka”… ;-)
Poniżej przykład takiego „serowego” justowania na urządzeniach mobilnych, choć akurat tutaj i tak nie trafiło się najgorzej:
Pewnie można by napisać jakiś wyspecjalizowany skrypt (np. w JavaScript), ale bądźmy poważni – kto chciałby się w takie coś bawić, zwłaszcza że skuteczność takiego rozwiązania i tak mogłaby być niezadowalająca, a przeciętnemu użytkownikowi w zupełności wystarczy jak wyłączymy justowanie na urządzeniach z mniejszym ekranem, co zrobimy w prosty sposób – za pomocą kilku linijek w pliku CSS:
@media screen w CSS
Wystarczy do strony (nieważne, czy to będzie strona w czystym HTMLu, czy oparta o jakiś CMS, np. WordPress) dodać np. taki fragment w pliku odpowiedzialnym za style CSS:
body {
text-align: left;
}
@media screen and (min-width: 640px){
body {
text-align: justify;
text-justify: inter-word;
}
}
Choć w przypadku motywu wykorzystywanego na potrzeby Webinsider.pl justujemy tylko zawartość obiektu o klasie „entry-content”, stąd kod wygląda trochę inaczej:
.entry-content {
text-align: left;
}
@media screen and (min-width: 640px){
.entry-content {
text-align: justify;
text-justify: inter-word;
}
}
Co, po co i dlaczego
Z racji tego, że zawsze może trafić się jakaś „bardziej egzotyczna przeglądarka”, która nie obsłuży dyrektywy „@media”, to w standardzie dla każdego serwujemy wyrównanie do lewej strony – trudno, najwyżej ktoś przegapi justowanie, przynajmniej do czasu, aż rozpowszechnia się nowe reguły/komendy związane z justowaniem, i nie trzeba będzie go wyłączać całkowicie dla tych urządzeń…
W następnym kroku zwracamy się z informacją do tych „bardziej współczesnym przeglądarek”, że jeśli rozmiar okna przeglądarki jest większy niż 640px, to prosimy zastosować justowanie tekstu, dzięki czemu tekst zostanie ładnie wyrównany z obu stron.
Dlaczego 640px?
Pewną wątpliwość może budzić wybranie minimalnej rozdzielczości, od której na stronie będzie justowanie tekstów – w naszym przypadku jest to 640px.
Nie ma jakiejś magicznej wartości, po prostu przeglądając różne wpisy/strony za pomocą emulatora/symulatora ekranów o różnej rozdzielczości sprawdzam przy jakim rozmiarze okna (w poziomie) większość teksów zaczyna się już ładnie układać przy aktywnym justowaniu…
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01
Bardzo aktualny temat, gdy coraz więcej osób korzysta się z urządzeń mobilnych.
U nas jest to ok 23-26% (25-29% licząc z tabletami), i można powiedzieć, że jak sprawdzam statystyki rok wstecz, to jest to wynik stabilny, co trochę zaskakuje, ale z drugiej strony może to kwestia tematów, które są zazwyczaj dość techniczne, i pewnie lepiej się z nich korzysta na standardowym komputerze (desktop, laptop).
Wprawdzie tablety miały być takim zabójca PC (ile to można było wróżenia z fusów poczytać na temat tego jak to wyeliminują komputery), a skończyły jako w większości niepotrzebne gadżety, i stąd w statystykach dają tylko 2-3% ruchu…
Jestem laikiem technologicznym, więc ani trochę nie zrozumiałem co znaczy:
„Choć w przypadku motywu wykorzystywanego na potrzeby Webinsider.pl justujemy tylko zawartość obiektu o klasie „entry-content”, stąd kod wygląda trochę inaczej”
Co to entry-content?
I jeśli będę chciał zastosować skrypt na WordPressie, to gdzie konkretnie ten cały skrypt wkleić?
W HTMLu, czyli języku w którym tworzy się strony internetowe (w uproszczeniu, bo koncentruje się tu tylko na warstwie prezentacji, czyli tym co wyświetla przeglądarka, a nie generuje serwer) stosuje się identyfikatory i klasy poszczególnych obiektów (coś jakby kontenery na zawartość/treść), dzięki czemu można później w prosty sposób zarządzać np. ich wyglądem za pomocą CSSa. W przypadku tej strony (Webinsider.pl) nie justujemy tekstu we wszystkich elementach strony (body), a tylko element o klasie „entry-content”, w którym znajduje się zawartość artykułów (bez menu, pasków bocznych itp).
Własny kod CSS zazwyczaj wprowadza się w pliku style.css motywu potomnego WordPressa, choć od jakiegoś czasu odpowiednia opcja pojawiła się również w module personalizacji WordPressa (wygląd -> personalizacja -> dodatkowy CSS). Jeśli mowa o innym kodzie (np. skrypty, PHP) to można wykorzystać plik functions.php w motywie potomnym, bądź można utworzyć własną wtyczkę.
W przypadku dalszych niejasności mogę zasugerować poczytanie o HTMLu, CSS, motywach potomnych w WordPressie, PHP… Ew. skorzystać z pomocy, np. naszej.