【问题标题】:CSS pixel doubling on iPhoneiPhone上的CSS像素加倍
【发布时间】:2013-08-23 19:15:07
【问题描述】:

我正在开发一个响应式主题,但问题是 iPhone 上的所有像素都翻了一番。 我相信这是由于视网膜显示器造成的。

我的问题是我是否必须通过为仅视网膜显示器(实际像素大小除以像素密度)提供特殊值来创建另一个样式表(或使用媒体查询)?

  • 所有的边距都加倍
  • 边框厚度加倍
  • 字体大小加倍

目前我拥有所有的边距、边框等。以像素为单位。

目前,我正在使用以下 java-script 来控制初始比例,并且工作正常。

(function() {
  var meta = document.createElement("meta");
    meta.setAttribute('name','viewport');
    var content = 'initial-scale=';
    content += 1 / window.devicePixelRatio;
    content += ',user-scalable=no';
    meta.setAttribute('content', content);
    document.getElementsByTagName('head')[0].appendChild(meta);
})();

谁能告诉我解决方法?

编辑:

我也在使用<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" />

【问题讨论】:

    标签: iphone css responsive-design


    【解决方案1】:

    <meta name="viewport" content="width=device-width,initial-scale=1.0"> 是您要查找的内容,请将其与媒体查询结合使用。

    【讨论】:

    • 我已经尝试过<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no" />,但没有运气。但是 javascript 代码正在工作,因为它正在检测像素密度并设置初始比例。
    • 这将起作用,例如将其与 @media (max-width:320px) {/* 样式 */} 结合使用。即使分辨率大于 320 像素,这也适用于 iPhone,因为元标记告诉浏览器采用设备宽度而不是实际分辨率。
    • 对不起!但是你所说的“结合”是什么意思?目前我在@media only screen and (min-width: 640px) and (max-width: 1011px) { } 中有我的 640 设计所以.. 我怎样才能把你的代码放在里面?我的问题只是像素加倍。检测设备宽度和更改布局是可以的。在我调整桌面浏览器大小时它工作正常。
    • 我想你是在要求我做一个 320p 的设计,它会与 640p iPhone5 一起工作。不是吗?
    猜你喜欢
    • 1970-01-01
    • 2012-02-20
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多