Ответ 1
Вы можете использовать CSS:
@media screen and (max-width:500px) {
/* smaller screens */
}
@media screen and (max-width:960px) {
/* bigger screens */
}
Я работаю над сайтом, который должен работать на рабочем столе и на мобильном устройстве. Сейчас у меня есть основной контентный div, который установлен на 70% ширины экрана. Тем не менее, я чувствую, что это мало для мобильных устройств (например, телефонов, не так много планшетов) и хотите до 90 или 95%. Как я могу это сделать (скажем, для размеров экрана менее 5 дюймов) без использования ужасно ненадежных браузерное обнюхивание? Я слышу мантры "обнаружение функции обнаружения функции обнаружения" снова и снова, и я понимаю, почему это хорошо... но я не знаю, что "функция" обнаруживает для этой проблемы...
Спасибо.
Вы можете использовать CSS:
@media screen and (max-width:500px) {
/* smaller screens */
}
@media screen and (max-width:960px) {
/* bigger screens */
}
Вы можете получить дикое приближение размера экрана с помощью javascript
function getScreenSizeInches() {
var temp = document.createElement("div")
temp.style.overflow='hidden';
temp.style.visibility='hidden';
document.body.appendChild(temp)
temp.style.width = "10in"
var dpi = temp.offsetWidth / 10;
return screen.width / dpi + 'x' + screen.height / dpi;
}
Смотрите следующие скрипты для его использования в действии vanillajs или jquery..
версия jQuery:
function getScreenSizeInches() {
var $temp = $('<div style="overflow:hidden;visibility:hidden;width:10in"/>').appendTo('body'),
dpi = $temp[0].offsetWidth / 10;
return screen.width / dpi + 'x' + screen.height / dpi;
}
Как уже отмечалось в комментариях, этот метод может быть дико неточным, поэтому я не буду использовать его ничем, кроме подсказки по размеру экрана...
Вы можете использовать CSS:
/*Here goes the CSS for all screens*/
@media handheld {
/*Here goes the CSS for mobile phones and tablets*/
}
ИЗМЕНИТЬ
Другое предложение:
установите метатег viewport
в свой html:
<meta name="viewport" content="width=device-width, height=device-height" />
теперь вы можете получить такие размеры: Получить размеры окна просмотра браузера с помощью JavaScript
Вместо использования jquery вы можете использовать простой javascript для его обнаружения:
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) {
}
или вы можете объединить их, чтобы сделать его более доступным через jQuery...
$.browser.device = (/android|webos|iphone|ipad|ipod|blackberry/i.test(navigator.userAgent.toLowerCase()));
теперь $.browser вернет "устройство" для всех вышеперечисленных устройств.
чтобы получить физический размер, вы не сможете использовать Javascript, но используйте jQuery для получения размера экрана.
$(document).ready(function(){
var elem = document.createElement("div");
$(elem).attr("id", "removeMe").css({"width":"100%", "height":"100%", "position":"absolute", "top":"0", "left":"0"});
$("body")[0].append(elem);
width = $("body #removeMe").width();
height = $("body #removeMe").height();
$("body #removeMe").remove();
});
Это даст вам размер пикселя экрана. однако я бы объединил это с мобильным чеком, например, с ответом @Abhi jQuery, и вам нужно будет отбросить этот код в обработчик события изменения размера окна, поэтому, если поворот мобильного экрана включен, и он повернут, у вас есть новые измерения.