Geneza „najpierw mobilna”
Idea „najpierw mobilna” w odniesieniu do Responsive Design pochodzi z czasów, gdy przeglądarki urządzeń mobilnych były znacznie mniej wydajne niż te, które można znaleźć na urządzeniach stacjonarnych. Wiele z nich w ogóle nie obsługiwało zapytań o media, więc pomysł zbudowania fantazyjnego projektu pulpitu, a następnie trzymania się stylów za pomocą zapytań o media dla wąskiego obszaru wyświetlania spada na jego twarz.
Brak obsługi zapytań o media jest w rzeczywistości pierwszym zapytaniem o media.
- Bryan Rieger
Czy mobilność jest nadal najważniejsza?
Pomimo faktu, że przeglądarki urządzeń mobilnych dogoniły ich odpowiedniki na komputery, „najpierw mobilne” jest nadal najbardziej logicznym sposobem pisania swoich stylów.
Wolę myśleć w kategoriach „unikania cofania wcześniejszych deklaracji stylu”. Podejście addytywne, zamiast zapisywania stylów, a następnie zastępowania ich później, prawie zawsze prowadzi do bardziej zwartego arkusza stylów. Style odpowiednie dla większości / wszystkich urządzeń powinny znajdować się poza zapytaniami o media, podczas gdy style, które są istotne tylko dla określonej rzutni, powinny znajdować się za zapytaniem o media.
Porównaj podejście „na pulpicie”:
.column {
float: left;
width: 50%;
}
@media all and (max-width: 50em) {
.column {
float: none;
width: auto;
}
}
Podejście „najpierw mobilne”:
@media all and (min-width: 50em) {
.column {
float: left;
width: 50%;
}
}
Wyniki są takie same, ale później jest bardziej zwarty. Przykładowe style bezwstydnie skopiowane z 7 nawyków bardzo skutecznych zapytań medialnych Brada Frosta .
Istnieje kilka rzadkich wyjątków, w których „najpierw na pulpicie” jest bardziej odpowiednie niż na odwrót. Najbardziej godne uwagi jest to, gdy robisz rzeczy takie jak responsywne tabele. Szersze rzutnie będą wymagać domyślnych stylów dla tabel, ale wąska rzutnia będzie chciała zastąpić to wszystko, aby zawartość mogła być ułożona pionowo.
Nie niszcz swoich arkuszy stylów
Jedną rzeczą, której absolutnie nie powinieneś robić, jest rozbicie swoich responsywnych stylów na pojedyncze pliki CSS i użycie atrybutu media na elemencie link. Ma to niepożądaną konsekwencję pobierania przez UA wszystkich połączonych arkuszy stylów (tzn. Nie ma w tym usprawnienia szybkości).
<!-- this is bad, don't do this -->
<link rel="stylesheet" media="(max-width: 800px)" href="example.css" />
Więc kod powinien być najpierw mobilny, ale co z podejściem do projektu?
Uważam, że to nie ma znaczenia. Układy wszystkich rzutni związanych z projektem muszą być wykonane (może to obejmować zaledwie 2 lub nawet 5, jeśli uwzględnisz jakiekolwiek drobne punkty przerwania, których możesz potrzebować!), Kolejność nie ma w końcu znaczenia. Wielu projektantów nie ma dyscypliny, aby zacząć od układu pulpitu i przekonuje się, że rozpoczęcie od układu mobilnego jest łatwiejsze.
Jeśli chcesz zacząć od układu pulpitu, musisz unikać pokusy wypełnienia całej tej wspaniałej białej przestrzeni bałaganem, który nie poprawia zawartości tej strony. Czy naprawdę potrzebujesz tego zdjęcia w rozdzielczości 800 x 600 z uśmiechniętą kobietą trzymającą telefon? Pobranie niepotrzebnego puchu kosztuje tylko użytkownika mobilnego i jest tylko wizualną rozrywką dla użytkownika komputera, aby pominąć.