Мобильная CSS-верстка под iPhone
31 Oct 2012Нужно было создать решение для страницы, которая открывается как в мобильных браузерах, так и в десктопных. Писать сложное решение с использованием серверного кода не хотелось, а вставлять костыли типа Conditional CSS – тоже некрасивая и нетривиальная задача.
Однако, как и ожидалось, решение было найдено и оказалось весьма простым.
Способы условного подключения css-файлов для страницы можно найти в интернете.В данном же конкретном случае разбирается то, что Safari Mobile не хочет представляться как handheld-устройство (видимо считая себя выше этого).
Решение этой проблемы таково: знание размеров мобильного устройства и соотношение его сторон.
Так например, можно использовать такой код:
чтобы разделить портретную и пейзажную ориентации. Главное, не забывать корректно проставлять параметр cutoff.
Cutoff означает среднее число между длиной и короткой стороной устройства. Так, например, iPhone имеет размеры 320х480 и
iPad – 768х1024. Соответственно, значения cutoff для них будут: 400 и 896 (заменять
Если вы предпочитаете подгружать код используя @import (от этой привычки я избавился, прочитав don’t use import), то можно использовать следующий вариант:
Приведённые примеры показывают, как один и тот же сайт можно, не изменяя контента, привести к виду, одинаково удобоваримому на всех устройствах.
Примеры взяты с 13bold.com.
P.S.: Кстати, вот здесь можно посмотреть кто как читает подключаемые CSS.