#css #xhtml #mobile #mobile-website #mobile-phones
#css #xhtml #Мобильный #мобильный веб-сайт #мобильные телефоны
Вопрос:
Я создал отдельный сайт для смартфона, и теперь мне нужно создать отдельный сайт для других старых мобильных устройств. Как добиться максимальной совместимости с большинством устройств мобильного веб-сайта на старых мобильных устройствах с маленьким экраном?
Я думаю использовать
Этот документ для HTML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
И только те селекторы и свойства, которые поддерживаются CSS Mobile Profile 2.0
- Изображения не должны использоваться часто, и не следует использовать прозрачные изображения
- Javascript не поддерживается на старых мобильных устройствах
- Некоторые селекторы CSS 2.1 несовместимы в старых браузерах
- Макет не должен иметь фиксированной ширины, поскольку существуют различные размеры экрана
- Хорошо не использовать внешний CSS. CSS внутри было бы неплохо
- HTML 5 doctype поддерживаться не будет, поэтому я буду использовать XHTML Basic 1.1
- Ни для одного элемента не должно быть определено
width
иfloat
- http-запросов должно быть намного меньше
- Не
font-family
должно быть определено
Я не уверен в некоторых вещах?
- Должен ли я использовать CSS-спрайты, если это возможно?
- Должен ли я вместо этого создать макет
- Встроенный CSS лучше внешнего CSS?
- Должен ли я использовать какой-либо код сброса css при настройке css?
- Должен ли я использовать utf-8 или ISO?
- Возможно ли использовать проверку формы?
- Не следует ли мне давать какую-либо ссылку, которая открывает новое окно?
- Обязательно ли использовать use em вместо px для определения размера шрифта?
Достаточно ли моих замечаний?
Хотя я собираюсь почитать http://www.w3.org/TR/mobile-bp / в деталях, и я также проверил http://html5boilerplate.com/mobile / но это для всех, включая смартфоны , но некоторые вещи полезны
Интерфейсные матрицы смартфонов
https://spreadsheets.google.com/spreadsheet/ccc?authkey=CJPSkfwOamp;pli=1amp;hl=enamp;key=tLen0XZBVTziVZBzwwQFxlwamp;hl=enamp;authkey=CJPSkfwO#gid=0
Разрешение экрана мобильного телефона, отсортированное по марке и модели
http://cartoonized.net/cellphone-screen-resolution.php
Но что еще вы посоветуете рассмотреть на личном опыте, есть ли какие-нибудь советы?
Ответ №1:
Почему вы используете <?xml version="1.0" encoding="UTF-8"?>
?? Это xml-заголовок, а не html.
По поводу вопросов:
- Изображения не должны использоваться часто, и не следует использовать прозрачные изображения
Вы можете использовать прозрачный GIF, они в некоторой степени поддерживаются. Прозрачный Png, однако, нет.
- Javascript не поддерживается на старых мобильных устройствах
Дело не в том, что он не поддерживается. Во-первых, JS всегда отключен по умолчанию в старых браузерах. Вторая проблема заключается в глючных реализациях JS. Третий фактор заключается в том, что у старых мобильных устройств были ограниченные ресурсы, а поскольку JS работает на стороне клиента, это может привести к сбою / замедлению работы телефона.
- Макет не должен иметь фиксированной ширины, поскольку существуют различные размеры экрана
На мобильных устройствах совет ВСЕГДА использовать гибкие макеты (на основе%)
- Хорошо не использовать внешний CSS. CSS внутри было бы неплохо
Встроенный css лучше всего подходит для старых устройств, поскольку у большинства из них возникают проблемы со слишком большим количеством запросов или при применении стилей к dom. Помните, что они используют EDGE или, что еще хуже, WAP-соединения, которые почти так же плохи, как коммутируемый доступ.
- HTML 5 doctype поддерживаться не будет, поэтому я буду использовать XHTML Basic 1.1
Вы можете использовать XHTML basic или даже лучше, <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd">
- Ни для одного элемента не должны быть определены width и float
Ширина, всегда в%. Float, никогда. Вплоть до S60 3rd FP1, поплавки были с ошибками на симбианах. (N73 работает на S60 3rd, а float содержит ошибки. На N95 ‘ S60 3rd FP1 значение float было исправлено в большинстве случаев, но все равно время от времени возникала ошибка, в зависимости от использования). То же самое относится к абсолютной и фиксированной позиции.
- http-запросов должно быть намного меньше
По возможности сокращайте. Чем больше запросов, тем больше раз дерьмовому wap / edge нужно что-то получить, и больше времени занимает загрузка.
- Семейство шрифтов не должно быть определено
Семейство и размер — это две вещи, которые раздражают старые устройства. Большинство из них получили собственные шрифты и размеры. Например: Motorola V3R / RAZR V3 получила собственный шрифт только одного размера (каждая буква занимает около 7 ~ 9 пикселей экрана, если я правильно напоминаю). Но вы можете объявить Arial, поскольку это обычный шрифт, и он будет использоваться, когда он будет установлен в браузере.
- Должен ли я использовать CSS-спрайты, если это возможно?
Избегайте любой ценой. Уменьшая количество запросов, вы сталкиваетесь с другой проблемой: ваш макет будет изменчивым, а расположение фона обычно искажается при использовании процентов. И старый Blackberries любит баги с фоновым изображением.
- Встроенный CSS лучше внешнего CSS?
На мой взгляд, да. Поскольку подключение и рендеринг происходят медленно, если по какой-либо причине ваш файл css истекает, (и без того плохой) макет будет хуже.
- Должен ли я использовать какой-либо код сброса css при настройке css?
Раньше я использовал YUI one, но в действительно старых браузерах (опять же V3r и near) просто не имеет такого большого значения. Но это хорошо, когда вы показываете клиентам: P
- Должен ли я использовать utf-8 или ISO?
Действительно зависит от того, каким будет ваш контент. Если вы кодируете все объекты html (например, используя латинские символы), используйте UTF-8. Если вы не кодируете, попробуйте ISO. Но в любом случае старые браузеры используют собственную кодировку. Проверьте браузер N95, например, вы можете установить свою собственную кодировку, таким образом, искажая кодировку html.
- Возможно ли использовать проверку формы?
По возможности избегайте JS, всегда выбирайте серверную часть.
- Не следует ли мне давать какую-либо ссылку, которая открывает новое окно?
В старых браузерах нет поддержки «tab», поэтому, даже если вы укажете target=»_blank», он откроется поверх вашей текущей страницы. Я не напоминаю, когда, но браузеры S60 поддерживают вкладки, но это своего рода скрытая функция. Например, браузер N95 S60 3rd FP1 webkit не позволяет открывать ссылку в новом окне, но откроет новый тег, если используется _blank. А для перехода по «вкладкам» вам нужно нажать клавишу «5».
- Обязательно ли использовать use em вместо px для определения размера шрифта?
Это полезно из соображений доступности, когда у вас есть скрипт для увеличения размера шрифта (те значки A- / A ). Но, как я уже говорил, в вопросе не следует определять семейство шрифтов.
Несколько советов:
= Большинство старых браузеров Blackberry — дерьмо, намного хуже, чем IE5-6. Итак, например, если вы хотите, чтобы в вашем основном контейнере было 5 пикселей по левому / правому краю, чтобы его можно было отображать как «центрированный», откажитесь от margin: 0 5px; и выберите border-left: 5px solid #same_bg_color;border-right: 5px solid #same_bg_color; Грустно, но это то, что сделал RIM :/
= Всегда старайтесь, чтобы ваш макет был максимально вертикальным. Не размещайте слишком много элементов в одной строке.
= ВСЕГДА устанавливайте навигационные якоря в середине текста. На старых устройствах навигация осуществляется с помощью перехода от привязки к привязке (или «псевдомашинки» в S60 ), поэтому, если вы дойдете до конца страницы, вам придется нажимать «Вверх» кучу раз. Избегайте этого, создав «Перейти к началу» или, что еще лучше, создайте такое же верхнее меню в нижнем колонтитуле.
= Большую часть времени не возитесь со шрифтами. цвет, размер, семейство в большинстве случаев не будут работать.
= Во всех этих советах рассматриваются «низкие» и некоторые ранние «средние» устройства следующего ранга «Мое личное устройство».:
Высокопроизводительные устройства: устройства, работающие под управлением следующих ОС: iOS, Android, WP7 , Bada, bbOS 6.0
Устройства среднего класса: устройства, предшествующие устройствам высокого класса. некоторые более поздние версии Symbian S40 и все S60, последняя версия Walkman от Sony / Ericsson до начала использования Android.
Бюджетные устройства: все остальные, включая WML, WAP1, BlackBerries, Windows Mobile (6.XX или более поздней версии), большинство Symbian S40 и старше, все остальное.
Комментарии:
1. @JitendraVyas np. не стесняйтесь задавать любые другие вопросы. Кстати, я просто напоминаю о вас.. Я в вашей мобильной группе LinkedIn; P
Ответ №2:
Если вам нужно убедиться, что ваш сайт будет работать на всех устройствах, возможно, вам захочется взглянуть на WALLhttp://wurfl.sourceforge.net/java/wall.php