如何自适应不同的分辨率界面?

   首先呢来看一张图:


  这是2个半月腾讯游戏官网的分辨率数据,可以看出来PC端里1024*768占20%、1920*1080占14%。而这2个分辨率的显示宽度相差了接近一倍。

  而现在设计师的设计稿普遍输出尺寸都是1920,所以设计师经常也会担心:小分辨率下能看到吗?或者需要为手机端单独做一版吗?所以我们需要用一些技巧来让大多数用户能看到的页面效果是一样的。

  一、PC端

  【举例1】http://up.qq.com/2014/life/ 1920*1080下显示。


  设计的很美观 但是如果直接按原始大小做,小分辨率玩家只能看到中间的人物而已。

  经常我们做全flash站的时候,会看到多媒体的同学会为了配合多分辨率做展示上的自适应。

  而重构其实纯靠css也可以实现同样的缩放自适应:


  这样不会因为分辨率小而只能看到中间一个区域,或者出现滚动条影响体验。

  实现思路:

  1: 针对IE:IE有个zoom属性。虽然经常我们用它来清浮动什么的。但是它在缩放元素上也是很强大的。eg:被设置zoom:0.5的元素会以该元素的左上角为原点在直接被缩小一半,所占据的文档流内体积也会减少一半(IE7和8+对zoom后的元素的margin值理解不同可以注意下,不过单纯缩放元素时不太需要用到)。

  firefox下呢,就可以使用css3的transform:scale()。(需要额外设置transform-origin:0 0为缩放原点)。

  另外zoom也被webkit支持,scale还是zoom请自行选择~

  2. 接下来我们就可以按设计稿直接切成成一个巨大无比的1920*1000的页面。

  3. 然后获取用户的当前窗口尺寸,eg当前窗口宽1200,那么我们需要缩放的比例 zoom=1200/1920=0.625。然后把我们的主显示的父框缩小0.625倍就可以啦~(当然为了高度不出滚动条,高度的尺寸也要纳入计算范围)

  是不是很简单呢?以后遇到会影响内容浏览的大页面的时候 可以考虑用这种方法做一个缩放哦~

  【举例2】http://game.qq.com/happy/main.htm (不好意思拿出了11年的页面,不过这个思路看起来很清楚)


  这个主体是固定尺寸的,然后通过js来计算定位和衔接背景做到自适应&无滚动条。可以看到跟上边的例子比这些人物的尺寸都没有改变。

  计算思路神马的因为以前做过分享所以不再赘述~感兴趣的同学可以查看代码或者私下跟我讨论^^

  二、移动端

  移动端虽然整体尺寸小+倒下去竖起来的尺寸差别太大,但是本质和PC端页面没什么区别。

  常见的自适应自然就是:

  1. 响应式,media queries配合百分比让页面内容自然的去适应((http://game.qq.com);

  2. 根据浏览器尺寸然后进行动态的定位(http://up.qq.com/2014/await/)。 手机输入网址浏览或扫描下排二维码


  如果单独做手机端的页面,用上述方法做自然正常显示不是问题,但是当时间紧任务重或者资源不够需要PC和手机使用同一套页面时,如何适应手机就是个需要考虑的问题了。

  我们先来看看例子:

  http://up.qq.com/2014/user/user8.shtml


  打开会发现这就是一个正常的PC端的活动页面,但是因为从策划到上线的时间都非常紧没有时间为手机版单独做一套,所以就要考虑如何能适应手机浏览了。

  因为这个活动系列其实是拉数据后趣味展示(其实就是定位图片和文字在页面上),所以定位和宽度用百分比进行后很可能在显示的时候出问题;字体可能因为分辨率小的时候换行;甚至页面的背景和高度在适应多分辨率的手机时也不易控制等等等等(我纠结了一堆的忧虑)。

  怎么办?

  咳~聪明的你一定想到了,嗯~就用我们PC端的第一个例子,缩放搞定!


  安卓 & iPhone


  iPhone & PC

  同一套页面,在一个小小的操作下便可以变成手机端可以浏览的了。

  (因为是PC端的活动所以调用的是PC的登录&选大区组件,所以造成手机端操作有槽点,不过在本次分享里请先忽视它>_

时间: 2024-10-01 14:43:45

如何自适应不同的分辨率界面?的相关文章

Android编程实现屏幕自适应方向尺寸与分辨率的方法_Android

本文实例讲述了Android编程实现屏幕自适应方向尺寸与分辨率的方法.分享给大家供大家参考,具体如下: Android 屏幕自适应方向尺寸与分辨率,包括屏幕界面布局.多分辨率支持.获取屏幕尺寸.屏幕横屏与竖屏等,android 模拟器横屏,android 虚拟机横屏,android 判断横屏,android 禁止横屏,android 强制横屏,android 横屏事件,android 自适应分辨率,android 屏幕自适应,android 图片自适应,android 横屏布局. 屏幕界面布局

为iPhone 6设计自适应布局

Apple从iOS 6加入了Auto Layout后开始就比较委婉的开始鼓励.建议开发者使用自适应布局,但是到目前为止,我感觉大多数开发者一直在回避这个问题,不管是不是由于历史原因造成的,至少他们在心底还坚守着固定布局的老传统思想. 随着iPhone6.iPhone6 Plus的到来,使用自适应布局更是迫在眉睫的事,固定布局的老传统思想脆弱的不堪一击.现在的iPhone有4种尺寸,如果算上iPad,现在Apple的iOS设备有5种尺寸.我们在准备使用自适应布局设计应用界面之前,可以把这5种尺寸划

Google 解释新界面和用户体验

今天Google宣布将为Google Maps.Gmail.搜索.http://www.aliyun.com/zixun/aggregation/13536.html">Google Reader等主流产品提供新的界面──除了黑的导航条以外,还有稍小号的Google logo(之前谁看出来了?),其它链接文字都飞到了界面最下方. Google说这个新界面有三大优势: 集中性:当你搜索.查邮件.看地图的时候,Google会用深颜色和更好操作的按钮让你专心致志的干好自己要做的事情.以后还可能会

Win7系统怎么调整屏幕分辨率

  win7系统设置分辨率,和之前大家学用的XP系统,有点点不同,其实也是在桌面右击来设置. 1,右键点击电脑桌面空白处,点击"屏幕分辨率". 2,在屏幕分辨率界面中调整分辨率:点击分辨率(R)后的下拉键头,会出现调整分辨率的具体菜单.选择"推荐"分辨率点击"确定". 3,选择"确定"后,会出现显示设置的菜单,选择"保留更改".

电脑的分辨率怎么调?分辨率设置方法

1.右击桌面空白处,在弹出菜单点击"屏幕分辨率 "菜单,如下图红框处.  2.在屏幕分辨率界面中我们会看到有"显示器,分辨率,方向"几个常用的选项了. 3.我们先来选择"分辨率"看看会是什么结果,点击之后发现出来了可滑动的选项了,我们可以拖动来设置显示器的分辨率(注意:如果没有选项可能是显卡驱动没有安装好) 4.如果我选比较高的分辨率桌面图标会显示比较小了. 5.选择好其他分辨率后,电脑的显示外外观蓝色框框会随着变化,你留意下.同时,如果过低,那

怎么调电脑的分辨率?分辨率设置方

1.在电脑桌面我们右击空白处理(不要点击到图标了)然后在弹出菜单点击"屏幕分辨率"  2.在这个屏幕分辨率界面就会显示你显示器的相关信息了,其它就有一个"分辨率"这就是我们要找到,如图. " 3.我们点击"分辨率"按钮就会出事下图下接效果从800-1920(不同显示与显卡不一样这里也会有区别) 4.具体设置多大我们根据自己情况了,800是字体比较大的,1920是字体比较小的那种,大家可以自己尝试了.  5.选择好其他分辨率后,电脑的显示

大数据的设计师帮你快速搞定一个极简风格网站

  如何快速做出一个极简风格网站?国外某个网站统计分析了112个明显带有极简风格的网站后,发布了这篇超级干货.全程都是以数据来说话,从占比最大的设计要素开始说起,有案例有分析,把极简风格的设计彻底发挥到了术的地步. 最小化设计的目标是移除界面当中不必要的元素或内容,减少干扰,使界面最大程度的支持用户的任务流程. 要将界面以恰当的方式简化到只保留必要元素的程度,设计师需要对一系列与最小化策略高度相关的设计模式有所了解.界面设计,就像人类的语言一样,最终是由人们的使用方式所定义的.如今,虽然"最小化

如何调整Win8屏幕显示比例

  首先在桌面上右击鼠标选择"屏幕分辨率"从而调出屏幕分辨率设置窗口.一般情况下系统会根据显示器自适应分辨率,但这种情况可能并不适合老人和小孩,因为字太小不容易看清.这是我们就需要拉动滑竿,将分辨率调整到让眼睛适应的状态. 屏幕分辨率界面 在这个界面上我们还可以看到一个"放大或缩小文本和其他项目",点击它我们就会进入到一个新的界面,在这里我们更改所有项目的大小,系统给了100%.125%和150%三档,不过我们也可以自定义大小. 调整项目大小 除了更改所有项目,我们

WINDOWS PHONE 8 UI 设计指南

  @TerryFan (思科云协作部门用户体验设计师):最近在准备Windows Phone 8的设计工作,寻找资料时看到这篇文章,感觉有点像是MSDN里design guide的总结,是快速入门WP设计的绝佳文献,由于本人对WP的理解还不够深,而文章中有很多WP的专有词汇和描述,所以翻译难免有误,希望大家指正. 欢迎关注我的微信公众号"开卷有译"获得新文章推送. ========================== 我是设计的分割线 ========================