Вопрос по web, html, iphone – Создание мобильной веб-страницы с другим стилем CSS

-1

Я хотел бы знать, буду ли я использовать 3 различных файла CSS, загрузит ли мобильный браузер iPhone / iPad все 3 набора файлов CSS или только тот, который соответствует размеру экрана? используя это.

<link media="only screen and (max-width: 320px)" href="iphone-portrait.css" type= "text/css" rel="stylesheet">
<link media="only screen and (min-width: 321px) and (max-width: 480px)" href="iphone-landscape.css" type= "text/css" rel="stylesheet">
<link media="only screen and (min-device-width: 481px)" href="desktop.css" type="text/css" rel="stylesheet">

Я нашел ответ для использования отhttp://www.w3schools.com/html5/html5_app_cache.asp

даже если у вас есть 3 различных файла css для мобильного телефона, и css хранится на iphone, вы уменьшите пропускную способность до 1 загрузки каждого css, и это ускорит работу веб-сайта при использовании меньшей пропускной способности.

создайте файл .htaccess и поместите его в.

AddType text/cache-manifest manifest

затем создайте еще один файл, который называется demo.manifest, и поместите его в

CACHE MANIFEST 
# v0.0.1
icon.png
desktop.css
iphone-landscape.css
iphone-portrait.css

Затем на странице HTML вы должны объявить это, выполнив это.

<html manifest="demo.manifest">

как только вы обновите css и файлы, вам просто нужно будет обновить demo.manifest и браузер, загрузив новую версию demo.manifest и все его содержимое еще раз.

Это зависит от методов, которые вы используете для предоставления трех таблиц стилей и конкретного браузера. Quentin
@RonLugge, я использую & lt; link media = & quot; только экран и (max-width: 320px) & quot; HREF = & Quot; iphone-portrait.css & Quot; type = & quot; text / css & quot; отн = & Quot; таблица стилей & Quot; & GT; определить только экран css и & lt; link media = & quot; а также (min-width: 321px) и (max-width: 480px) & quot; HREF = & Quot; iphone-landscape.css & Quot; type = & quot; text / css & quot; отн = & Quot; таблица стилей & Quot; & GT; определить это в ландшафте. 4Rabbits
Я думаю, что вы должны были задать себе другой вопрос: как на самом деле вы бы связали данный файл CSS с данным размером экрана? У самого HTML нет средств для этого! Вам нужно использовать PHP / Javascript, чтобы использовать такую условную логику. Как примечание, я предпочитаю создавать один "удобный для мобильных устройств" страница и пусть мобильное устройство обрабатывает адаптацию макета, а не программирование для каждого типа устройства. RonLugge
Я думаю, что размер экрана зависит от настроек реальной страницы. То есть, если страница имеет стиль «first.css» и это для мобильных устройств, это будет читать это. Кстати, он загружает все 3 файла. Phillip

Ваш Ответ

3   ответа
0

если вы не создадите какой-либо javascript для предотвращения этого.

Да, если только вы не помешаете этому.
так будет скачивать все css? 4Rabbits
1

все они будут загружены. Лучший план - использоватьмедиа-запросы отделить, но обслуживать все стили на одном листе.

Хорошо, теперь это одна классная функция CSS3, о которой я никогда не знал!
caniuse.com/#search=media
Браузеры не согласны с этим - см .:stackoverflow.com/questions/6311235/…
Я использую & lt; link media = & quot; только экран и (max-width: 320px) & quot; HREF = & Quot; iphone-portrait.css & Quot; type = & quot; text / css & quot; отн = & Quot; таблица стилей & Quot; & GT; это будет единственный загруженный CSS, если смотреть на iphone в книжной ориентации? 4Rabbits
8

/* Smartphones (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 320px) 
and (max-device-width : 480px) {
/* Styles */
}

/* Smartphones (landscape) ----------- */
@media only screen 
and (min-width : 321px) {
/* Styles */
}

/* Smartphones (portrait) ----------- */
@media only screen 
and (max-width : 320px) {
/* Styles */
}

/* iPads (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) {
/* Styles */
}

/* iPads (landscape) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : landscape) {
/* Styles */
}

/* iPads (portrait) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : portrait) {
/* Styles */
}

/* Desktops and laptops ----------- */
@media only screen 
and (min-width : 1224px) {
/* Styles */
}

/* Large screens ----------- */
@media only screen 
and (min-width : 1824px) {
/* Styles */
}

/* iPhone 4 ----------- */
@media
only screen and (-webkit-min-device-pixel-ratio : 1.5),
only screen and (min-device-pixel-ratio : 1.5) {
/* Styles */
}

Во всех областях, в которых указано / * Styles * /, вы должны разместить отдельные компоненты CSS для различных устройств, которые вы поддерживаете.

** ОБРАТИТЕ ВНИМАНИЕ: это довольно запутанный лист медиа-запросов. Обычно я удаляю элементы ландшафта, и медиа-запрос iPhone заботится о большинстве смартфонов, поэтому обычно для этого не нужно иметь два отдельных запроса. Вот что я обычно использую:

/* Smartphones (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 320px) 
and (max-device-width : 480px) {
/* Styles */
}

/* iPads (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) {
/* Styles */
}

/* Desktops and laptops ----------- */
@media only screen 
and (min-width : 1224px) {
/* Styles */
}

/* iPhone 4 ----------- */
@media
only screen and (-webkit-min-device-pixel-ratio : 1.5),
only screen and (min-device-pixel-ratio : 1.5) {
/* Styles */
}
это просто хочу, я хотел, список всех измерений, спасибо. 4Rabbits
Отличный фрагмент кодов. Как бы я использовал вторую версию из приведенного выше кода, чтобы проверить, является ли она (IE10 || другой браузер) или (МЕНЬШЕ, чем IE10), если это настольные компьютеры и ноутбуки?

Похожие вопросы