我想让视口完全匹配屏幕上的物理像素。
我正在处理的页面的HTML代码(由于其他使用相同HTML的元素可能会出现问题,因此无法更改)包括:
<meta name=viewport content="width=device-width, initial-scale=1">
我该如何在javascript中使视口匹配物理像素?
我想让视口完全匹配屏幕上的物理像素。
我正在处理的页面的HTML代码(由于其他使用相同HTML的元素可能会出现问题,因此无法更改)包括:
<meta name=viewport content="width=device-width, initial-scale=1">
window.devicePixelRatio
是在 scale=1 时每个 CSS 像素对应的物理像素数。width=device-width
是设备视口宽度(以 CSS 像素表示),你需要将其乘以 window.devicePixelRatio
,这样它就是设备视口在物理像素上的宽度。不幸的是,没有关键字可以实现这一点,所以你必须通过 JS 来完成。// Assuming <html> has `width: 100%`.
var width = document.documentElement.clientWidth * window.devicePixelRatio;
viewport = document.querySelector("meta[name=viewport]");
viewport.setAttribute('content', 'width=' + width + ', minimum-scale= 1');
document.documentElement.style.transform = `scale(${1 / window.devicePixelRatio})`;
document.documentElement.style.transformOrigin = 'top left';
这将缩小您的内容,使得1个CSS像素等于1个物理像素。