首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用一个代码库为非视网膜和视网膜显示提供服务:在iPhones或iOS设备上为HTML5应用程序缩放布局和资源的框架?

使用一个代码库为非视网膜和视网膜显示提供服务:在iPhones或iOS设备上为HTML5应用程序缩放布局和资源的框架?
EN

Stack Overflow用户
提问于 2011-10-11 22:20:18
回答 2查看 21.2K关注 0票数 8

我们的目标是模拟开发人员可以使用原生iOS应用程序所做的事情:即使用基于单位的单一布局,以适应视网膜显示(640x960)和非视网膜显示(320x480)。

所有iOS开发人员需要做的就是提供两套资产,一套用于视网膜,另一套用于非视网膜,并用称为单位的相对术语设计他们的布局。如果开发人员遵循特定的命名约定,iOS会自动检测用户的屏幕大小,并使用正确的资源并相应地缩放布局。

这意味着devs可以用一个代码库为两个用户群服务。

有没有框架可以帮助HTML5开发人员完成同样的事情?

人们在最小化重复代码的同时,为非Retina和Retina显示屏做了些什么?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-11 23:43:56

有两件简单的事情可以让你的页面在这两种模式下工作。

首先,在文档头中使用meta标记设置视区。这将使您的横向页面宽度为480,纵向页面宽度为320。您可以使用CSS媒体查询检查您所处的方向。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<meta name="viewport" content="width=device-width; initial-scale=1, maximum-scale=1">

其次,使用CSS的background-size属性为所有图像提供视网膜图像。由于您的虚拟页面宽度是320px,因此在视网膜显示器上,每个像素实际上是2px x 2px。如果您在20x20框中提供40x40图像,视网膜显示器将按原样显示它,而非视网膜显示器将缩小像素。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.my-button {
    width:  20px;
    height: 20px;
    background-image: url(retina-images/my-button-40x40.png);
    -webkit-background-size: 20px 20px;
    background-size: 20px 20px;
}

如果你使用一个图像标签,这也应该是有效的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<img src="retina-images/my-button-40x40.png" width="20" height="20">

你也许可以做更多的工作来检查实际的屏幕尺寸,并为非视网膜人群提供较小的图像,但我认为好处不会那么明显。

票数 17
EN

Stack Overflow用户

发布于 2011-10-12 07:47:25

你在Retina显示屏上使用的每个单元都是一样的,所以你需要做的就是用2x版本替换所有的图像。

您可以使用window.devicePixelRatio来检测您的web应用程序是否在Retina显示屏上运行。如果是window.devicePixelRatio > 1,那么它就是视网膜显示屏。然后,您可以替换客户端上的所有图像:

search all css and replace background-image.

  • if
  1. search all <img /> and replace src attribute.
  2. search all css and replacebackground-image.
  3. if你使用canvas,创建2倍密度,使用2倍图像。这意味着当使用100px * 100px的<canvas></canvas>元素时,将其内容设置为200px *200px。
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7733223

复制
相关文章
如何在Ubuntu 16.04上使用uWSGI和Nginx为Django应用程序提供服务
Django是一个功能强大的Web框架,可以帮助您实现Python应用程序或网站。Django包含一个简化的开发服务器,用于在本地测试您的代码,但是对于任何与生产相关的细节,都需要一个更安全,更强大的Web服务器。
尘埃
2018/10/19
4.3K0
如何在CentOS 7上使用uWSGI和Nginx为Flask应用程序提供服务
在本指南中,我们将使用CentOS 7上的Flask微框架设置一个简单的Python应用程序。本文的大部分内容将是关于如何设置uWSGI应用程序服务器以启动应用程序和Nginx作为前端结束反向代理。
angel_郁
2018/10/19
1.8K0
如何在Debian 8上使用uWSGI和Nginx为Django应用程序提供服务
Django是一个功能强大的Web框架,可以帮助您实现Python应用程序或网站。Django包含一个简化的开发服务器,用于在本地测试您的代码,但是对于任何与生产相关的细节,都需要一个更安全,更强大的Web服务器。
姚啊姚
2018/08/08
3.3K0
如何在CentOS 7上使用Gunicorn和Nginx为Flask应用程序提供服务
在本指南中,我们将使用CentOS 7上的Flask微框架设置一个简单的Python应用程序。本文的大部分内容将是关于如何设置Gunicorn应用程序服务器以启动应用程序和Nginx作为前端结束反向代理。
陈树丶
2018/10/19
3K0
如何在Ubuntu 18.04上使用Gunicorn和Nginx为Flask应用程序提供服务
在本指南中,您将使用Ubuntu 18.04上的Flask微框架构建Python应用程序。本文的大部分内容将涉及如何设置Gunicorn应用程序服务器以及如何启动应用程序并将Nginx配置为充当前端反向代理。
物花无语
2018/10/19
3.3K0
如何在Ubuntu 18.04上使用uWSGI和Nginx为Flask应用程序提供服务
在本指南中,您将使用Ubuntu 18.04上的Flask微框架构建Python应用程序。本文的大部分内容将涉及如何设置uWSGI应用程序服务器以及如何启动应用程序以及如何配置Nginx以充当前端反向代理。
乌鸦
2018/10/19
2.5K0
如何在Ubuntu 16.04上使用Apache和mod_wsgi为Django应用程序提供服务
Django是一个功能强大的Web框架,可以帮助您快速启动Python应用程序或网站。Django包含一个简化的开发服务器,用于在本地测试您的代码,但是对于任何与生产相关的细节,都需要一个更安全,更强大的Web服务器。
独木桥先生
2018/10/19
2.1K0
有效解决3D游戏边缘锯齿现象及全面理解LayaAir引擎游戏屏幕适配!
有的时候看到一些3D游戏锯齿感特别明显,与一些开发者沟通后发现,其实很多人并不清楚怎么能去掉明显的锯齿感,而这并不是只有新开发者才遇到的问题,很多游戏研发经验丰富的开发者,甚至是使用LayaAir引擎开发了很多游戏的开发者也会不清楚。另外,最近也遇到有开发者想了解刘海屏如何适配,所以通过本篇文章全面介绍一下。
Layabox Charley
2020/03/26
2.4K0
有效解决3D游戏边缘锯齿现象及全面理解LayaAir引擎游戏屏幕适配!
基于HTML5的Web SCADA工控移动应用
在电力、油田燃气、供水管网等工业自动化领域Web SCADA的概念已经提出了多年,早先年的Web SCADA前端技术大部分还是基于Flex、Silverlight甚至Applet这样的重客户端方案,在HTML5流行前VML和SVG算是真正纯种Web方案也是有不少应用,近些年随着HTML5的流行,加上移动终端对HTML5支持的普及,越来越多新项目开始采用真正纯HTML5的方案,更具体的说大数据量应用性能高于SVG的Canvas方案,已经逐渐成为当今Web SCADA前端技术的首选标配方案。 http://ww
HT_hightopo
2018/07/09
1.5K0
基于HT for Web的Web SCADA工控移动应用
HT for Web
2018/01/03
1.9K0
基于HT for Web的Web SCADA工控移动应用
基于HT for Web的Web SCADA工控移动应用
在电力、油田燃气、供水管网等工业自动化领域Web SCADA的概念已经提出了多年,早先年的Web SCADA前端技术大部分还是基于Flex、Silverlight甚至Applet这样的重客户端方案,在
HT_hightopo
2018/07/09
1.3K0
详解LayaAir引擎游戏屏幕适配,及有效抗锯齿
有的时候看到一些3D游戏锯齿感特别明显,与一些开发者沟通后发现,其实很多人并不清楚怎么能去掉明显的锯齿感,而这并不是只有新开发者才遇到的问题,很多游戏研发经验丰富的开发者,甚至是使用LayaAir引擎开发了很多游戏的开发者也会不清楚。另外,最近也遇到有开发者想了解刘海屏如何适配,所以通过本篇文章全面介绍一下。
Layabox Charley
2020/03/06
7.5K0
详解LayaAir引擎游戏屏幕适配,及有效抗锯齿
HTML5与原生Android应用程序优势与劣势
移动应用程序开发人员提出的一个常见问题是,“我应该使用HTML 5构建我的应用程序,还是构建本机?”。 您选择其中任何一种原因的原因有很多,而且两者的支持者都有非常有效和令
麦兜麦兜里没糖吃
2019/01/07
2.6K0
使用AppSync为在Dell PowerFlex上运行的应用程序提供拷贝数据管理
Dell AppSync支持与Dell主存储系统的集成拷贝数据管理(iCDM)。AppSync简化并自动化了生成和使用生产数据副本的过程。通过抽象底层存储和复制技术,并通过深度应用程序集成,AppSync使应用程序所有者能够满足操作恢复和数据重新利用的复制需求。存储管理员只需关心初始设置和策略定义管理,从而形成一个敏捷、无摩擦的环境。AppSync自动发现应用程序,分析布局结构,并通过虚拟化层将其映射到底层存储设备。AppSync协调从副本创建、挂载到目标主机上进行验证、到启动或恢复应用程序副本所需的所有活动。支持的工作流程还包括刷新、过期和恢复到生产环境。
用户5498443
2023/02/28
1.2K0
使用AppSync为在Dell PowerFlex上运行的应用程序提供拷贝数据管理
PushPlugin-为iOS的Hybird App提供APNS服务
APNS是iOS生态下面的推送机制。其原理是APP启动的时候,向苹果注册,并获得一个唯一token,然后不论app是否继续在运行,都可以通过调用苹果的APNS服务,来向持有token的设备推送消息,例如顶部的通知。
libo1106
2018/08/08
5430
在Mac上为其他设备开启代理
前些日子,想要查看一个Release版本的HTTP请求,由于已经是发布版本,日志已然关闭,遂开始从HTTP代理的思路着手。
技术小黑屋
2018/09/05
6.5K0
在Mac上为其他设备开启代理
学界 | UC Berkeley新研究:通过深度学习建模注意点采样阵列
选自BAIR 作者:Brian Cheung 机器之心编译 参与:黄小天、蒋思源、路雪 近日,加州大学伯克利分校(UC Berkeley)在研究中尝试使用深度学习计算模型解释生物学中观察到的自然特征,在建模灵长类动物视网膜的注意点采样点阵的基础上,这些结果可引领主动视觉系统前端的新型设计方式的未来思考,并希望这种学科之间的良性循环仍会持续。 我们为什么需要注意力 我们通过眼睛观察到的只是世界的很小一部分,双眼只能采样周遭光场的少许片段,即使在这些片段中,大多数分辨力都是专注于神经节细胞(ganglion c
机器之心
2018/05/10
7750
在NAS设备上用NFS服务为RAC数据库和集群件存储oracle文件时的mount选项
今天在家折腾自己的小实验室,把自己NAS上的一个目录用NFS挂载到一套11g RAC的实验环境中。 当我在备份数据库到NAS上时,发现一个奇怪的问题,同样的目录下,默认backup 备份集的情况,备份是成功的,但如果使用backup as copy备份则会报错,现象如下:
Alfred Zhao
2019/05/24
1.6K0
【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)
创建一个 HelloWorld 项目, 在这个 IOS 项目中有四个目录 : 如下图;
韩曙亮
2023/03/27
5K0
【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)
浅谈移动端中的视口(viewport)
在 PC 端,视口指的是浏览器的可视区域,其宽度和浏览器窗口的宽度保持一致。在 CSS 标准文档中,视口也被称为初始包含块,它是所有 CSS 百分比宽度推算的根源,给 CSS 布局限制了一个最大宽度。
前端逗逗飞
2021/04/30
2.3K0
浅谈移动端中的视口(viewport)

相似问题

在iOS中区分视网膜和非视网膜显示

61

视网膜和非视网膜设备上的renderInContext

12

视网膜和非视网膜ios应用程序

12

为视网膜/非视网膜设备创建1 UIImage和手动大小

13

如何制作可在视网膜和非视网膜设备上使用的视网膜就绪图像

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文