У меня проблема с медиа-запросами, которые не используются на мобильном устройстве. Это корректно работает в браузере, но не на мобильных устройствах (на самом деле это похоже на то, что между телефонами Lumia 800 и iPhone по-разному). Я прошел через большинство сообщений с этой проблемой, и в большинстве случаев люди оставили метатег, но я уже установил его в начале документа;
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
Это мой мобильный файл CSS:
/* ===== == = === 20em (320px) === = == ===== */
@media screen and (min-width : 20em) {
.slidercontainer {
display:none;
}
}
@media only screen and (min-width : 30em) {
}
/* ===== == = === 37.5em (600px) === = == ===== */
@media only screen and (min-width: 37.5em) {
}
/* ===== == = === 48em (768px) === = == ===== */
@media only screen and (min-width : 48em) {
.slidercontainer {
display:inherit;
}
}
/* ===== == = === 56.25em (900px) === = == ===== */
@media only screen and (min-width : 56.25em) {
}
/* ===== == = === 68.75em (1100px) === = == ===== */
@media only screen and (min-width : 68.75em) {
.container {
width:1200px;
}
}
/* ===== == = === 81.25em (1300px) === = == ===== */
@media only screen and (min-width : 81.25em) {
}
И в области головы у меня также есть 2 таблицы стилей, по умолчанию один с обычным CSS и мобильным телефоном.. ну, мобильные стили :)
<link href="css/default.css" rel="stylesheet" type="text/css" />
<link href="css/mobile.css" rel="stylesheet" type="text/css" media="all"/>
Я выяснил, что это проблема, я имел обыкновение иметь
<html>
<head>
в документе заголовка, но как только я изменил его на
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
он также начал использовать таблицу мобильных стилей! Ошибка новобранец :)
Спасибо всем за предложения!
Я не совсем уверен, что это проблема с медиа-запросом CSS.
Даже на рабочем столе вы поднимаете горизонтальную полосу прокрутки ниже c.1240px.
Я думаю, что это связано с <div class="sidebox">
. Если вы проверяете сайт с помощью инструментов разработчика (в Chrome) или Firebug, вы можете ясно видеть, что некоторые элементы выходят из контейнера.
Я подозреваю, что это связано с проблемой позиционирования или смешением% -widths с определенными px -widths.
Вы можете изменить его для обнаружения устройства:
<link href="css/mobile.css" rel="stylesheet" type="text/css" media="handheld"/>
Или вы можете изменить его, чтобы определить размер экрана:
<link href="css/mobile.css" rel="stylesheet" type="text/css" media="only screen and (max-device-width: 480px)"/>
Вы можете больше узнать о типах носителей: http://www.w3.org/TR/CSS2/media.html
Попробуйте использовать этот метод, если хотите, или Bootstrap 3 Если мобильная первая рамочная работа
/* 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 */
}