Responsive design 为什么手机上有document.documentElement.clientWidth 980px
我试图了解Responsive design 为什么手机上有document.documentElement.clientWidth 980px,responsive-design,viewport,Responsive Design,Viewport,我试图了解documentElement.clientWidth和window.innerWidth以及它们在各种设备上的行为。我使用这个页面进行测试,有一件事让我感到困惑,那就是在我的Nexus 6documentElement.clientWidth是980,我用开发工具的移动模拟进行了尝试,结果是一样的。那为什么是980?而且,在移动设备上,window.innerWidth可以被视为视口宽度吗?页面的HTML如下所示: <html> <head>
documentElement.clientWidth
和window.innerWidth
以及它们在各种设备上的行为。我使用这个页面进行测试,有一件事让我感到困惑,那就是在我的Nexus 6documentElement.clientWidth
是980,我用开发工具的移动模拟进行了尝试,结果是一样的。那为什么是980?而且,在移动设备上,window.innerWidth
可以被视为视口宽度吗?页面的HTML如下所示:
<html>
<head>
<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
<script type="text/javascript">
(function loop(){
requestAnimationFrame(function(){
$('#doc').html( document.documentElement.clientWidth );
$('#win').html( window.innerWidth );
$('#d1').html($('#w div:eq(0)').width());
$('#d2').html($('#w div:eq(2)').width());
loop();
})
})();
</script>
</head>
<body>
<div id="w" style="margin-top:50px;margin-left:50px;font-size:50px">
<div style="float:left">client:<span id="doc"></span></div>
<div style="clear:both"></div>
<div style="float:left">window:<span id="win"></span></div>
<div style="clear:both"></div>
<div id="d1"></div>
<div id="d2"></div>
</div>
</body>
</html>
(函数循环(){
requestAnimationFrame(函数(){
$('#doc').html(document.documentElement.clientWidth);
$('#win').html(window.innerWidth);
$('#d1').html($('#w div:eq(0')).width();
$('#d2').html($('#w div:eq(2')).width();
loop();
})
})();
客户:
窗口:
好的。在这里:
“默认宽度为980px”在头部区域包括视口元标记:
<meta name="viewport" content="width=device-width, initial-scale=1">
否则,大多数移动设备将假定它是一个桌面站点,并模拟一个通常为980px的较大视口。高分辨率手机每英寸可以容纳更多像素,不是吗?我只是想知道这个“980”的数字是从哪里来的。如果你有手机分辨率信息和屏幕尺寸信息,或者DPI,也许你可以计算出来。是的,这是我正在寻找的一部分。然而,在所有的手机上,这个值总是980,所以我猜它与手机规格无关,这可能是因为你只关注特定品牌的手机。举个例子,一部没有全高清分辨率的手机和另一部有全高清分辨率的手机,等等。