【发布时间】:2015-01-23 05:30:04
【问题描述】:
这里有一个奇怪的问题。我们有一个网站,几年来一直运行良好。几个月前,Firefox 开始根据用户在其操作系统上的 DPI 设置来缩放页面。
问题是,默认情况下,Windows 7 中的 DPI 比例设置为 125%(在我们的国家/地区),每个使用 Firefox 的访问者都会看到缩放的页面。然而,Internet Explorer 和 Safari 现在也在做同样的事情,我猜 chrome 也会紧随其后。
棘手的部分是:当我打开页面时,我看到了正确的布局。如果我检查浏览器的缩放级别,它会告诉我 100% - 当我使用 Firefox 或 Internet Explorer 打开同一页面时,所有内容都会按比例放大(放大)25%。如果我在浏览器设置中检查缩放级别,它会显示 100%。如果我缩小两次(至 80%),我会看到原始布局。
有没有一种简单的方法可以通过 CSS、JavaScript 或标题标签设置默认 dpi 比例/缩放级别?
这里有一些截图可以稍微解释一下我的问题。
这是过去几年习惯的正确布局。页面居中,左右有点背景
在 Firefox、IE 和 Safari 上,同一台计算机上的同一页面看起来像这样。它被放大了,你看不到背景,你看到的总内容少了一点。
所以现在我的问题是:我该怎么做才能使同一页面在不同的计算机上看起来一样,因为它涉及到缩放。我知道有几件事总是不同的,但规模应该是一样的。
编辑:
始终使用 transform: scale(.75); 缩放页面转换来源:100%; 0;并不总是合适的,因为如果具有 100% DPI 设置的用户访问该页面,所有内容都会为他最小化。我不能总是缩放页面。我需要以某种方式确定用户是否将他的操作系统设置为 100% 或 125% DPI 缩放。
编辑:
是的,有一个选项可以确定设置的缩放比例。至少对于我的设置,这现在可以工作了。我添加了在同一台机器上打开两个浏览器的屏幕截图(chrome 顶部,firefox 底部)以查看差异(以及严重需要某人解决的问题)
【问题讨论】:
-
好吧,我想您可以缩放主体以始终与
width:100vw匹配,然后使用%缩放元素以始终使浏览器看起来与每个元素相同。但我想这在一个已经编码的网站上需要做很多工作。 -
@Persijn 是的,这是真的,这将是很多工作。当我们最终决定移民到一个新的商店系统并将这个自制的恶魔扔到它所属的地方,地狱的最深处时,我赞美主-_-