"自适应网页设计"的概念

2010年,EthanMarcotte提出了"自适应网页设计"(ResponsiveWebDesign)这个名词,指可以自动识别屏幕宽度、并做出相应调整的网页设计,自适应是为了解决如何才能在不同大小的设备上呈现同样的网页,很多网站的解决方法,是为不同的设备提供不同的网页,比如专门提供一个mobile版本,或者iPhone/iPad版本,这样做固然保证了效果,但是比较麻烦,同时要维护好几个版本,而且如果一个网站有多个portal(入口),会大大增加架构设计的复杂度。


各种自适应场景简介

手机的屏幕比较小,宽度通常在600像素以下;iPad的屏幕宽度比手机大,通常在768到1024像素间;PC的屏幕宽度,一般都在1000像素以上(目前主流宽度是1366×768)。同样的内容,要在大小迥异的屏幕上,都呈现出满意的效果,并不是一件容易的事。

上图是一套自适应UI范例,是设计师Mounse放在mediaqueri里设计的一套自适应的UI的作品。

  • 如果屏幕宽度大于1300像素,则表现为上图,这通常被用在适配pc端的web页面。
  • 如果屏幕宽度在600像素到1300像素之间,则表现为上图,这通常被用在适配pad和pc小屏幕。
  • 如果屏幕宽度在400像素到600像素之间,则表现为上图。
  • 如果屏幕宽度在400像素以下,则表现为上图,这通常用在我们的移动端(mobile版),自适应就是把上面的设计图做到一个web页面内而非多入口(portal)进入。

各种方法在各种自适应场景中的应用

1.使用行列组件的设备宽

测试案例下载地址:https://latest.ivx.cn/ih5/app/template/download?id=82

选中目标行或者列,在左边属性面板上点击设置环境宽,就会出现以上的五种宽度,分别为大屏pc宽、中屏pc宽、小屏pc宽、小屏pad宽、手机宽

实际使用中我们可能不会分的那么细致,一般是按照设计师出的图来决定分几种情况,按照上面的设计图,

我们在大屏pc宽里填入1300px,效果是窗口宽度大于等于1600px显示当前效果,

在demo里,我们设置的窗口宽大于1300px显示1300px,当前窗口宽为1600px,果然显示1300px

我们在中屏pc宽里填入600px,效果是窗口宽度大于等于1280px,小于1600px,显示当前效果,

在demo里,我们设置的窗口宽大于1024px到1280px,显示600px,当前窗口宽为1024px,果然显示600px

我们在小屏pc宽里填入400px,效果是窗口宽度大于等于1024px,小于1280px,显示当前效果,

在demo里,我们设置的窗口宽小于640px,显示400px,当前窗口宽为600px,果然显示400px

我们在手机宽里填入400px,效果是窗口宽度小于等于640px显示当前效果

在demo里,我们设置的窗口宽小于640px,显示400px,当前窗口宽为600px,果然显示400px

在iVX上许多繁杂的代码操作都被集成到可视化的组件上,所以实现起来很简单,选中目标行或者列,在左边属性面板上点击设置环境宽,就会出现下面的五种宽度,你可以按照上面给出的通常情况下自适应选择的参数填入,其实填入的数值并不固定,根据您目标用户的设备以及设备分辨率可以自行调节,也不一样要做5种,两种(pc和移动端)也是可以的。

2.自适应方法二:使用行列组件的“撑开”属性来适配各种不同高度的设备

测试案例下载地址:https://latest.ivx.cn/ih5/app/template/download?id=83

我们新建一个案例,在一个页面里面建4个行,其中3个行为参考坐标,一个目标行使用行组件的撑开属性做比对,可以看到我们当前窗口宽为1600px,而打开了撑开属性的行也为1600px,也就是说,当一个行或者列使用撑开属性时,窗口宽(高)的宽度(高度)就是被撑开的行(列)的宽度(高度);

如果是同一行或者一列中使用2个(及以上)行或者列,并且都打开撑开属性,是个什么状态的?

显而易见,逻辑上来说,应该是平分,我们来看看实际效果

实际效果和预计一样,当前窗口宽为1600px,窗口宽度被占满了,多个行或者列在同一行或者列内,使用撑开属性,他们可以平分宽度(高度)

3.自适应方法三:利用横幅进行底部定位

测试案例下载地址:https://latest.ivx.cn/ih5/app/template/download?id=84

打开案例,选中名为顶部左侧的横幅,看到他左边的横幅属性面板,属性面板里有个选项:整体布局

如上图所示,我们在测试案例下,横幅是出现在最上面的,需要把横幅从顶部放到底部定位,

怎么来实现?

只需要选择横幅属性面板里的整体布局,从左上换到左下

只需要选择横幅属性面板里的整体布局,从左上换到左下

横幅已经成功放到最下面了

首先选中目标对象,然后在左边的属性面板中找到整体布局,选中左下,然后保存预览,就会发现在我们顶部导航被固定在底部了(ios在高速拖动下横幅会有轻微抖动现象)。

4.自适应方法四:使用if容器来判断设备环境

测试案例下载地址:https://latest.ivx.cn/ih5/app/template/download?id=85

我们新建一个案例,在案例内,建一个页面,在页面内放一个文本变量和几个if容器,把文本变量的名字改为设备环境

打开测试案例,里面有四个if容器,一个是按pc客户端适配的页面

打开测试案例,里面有四个if容器,三个是按移动端客户端适配的页面,但这3个移动端页面的内容是一致的,只是进入这三个页面的浏览器入口不一样

要使用if语句来判断设备当前环境,首先根据设计师给出的高保真图完成PC端和移动端的页面,制作出pc端页面和移动端页面;因为设备环境是用来判断用户当前使用的客户端环境,进而去通过if语句判断选择显示哪种ui,所以需要在舞台初始化或者宽度变化下,调用系统组件里的客户端环境

如果当前处于pc端,那么我们就让pc端的页面显示,如果当前处于移动端,那么我们就让移动端的页面显示,按照上面的步骤我们就完成了用if判断当前设备环境进而完成页面的自适应。

手机端适应_不轻易透露的超强技巧!详解iVX中怎样做设备自适应相关推荐

  1. 手机端pdf文件预览pdf.js使用方法详解

    虽然H5页面可以通过A直接访问html 但可惜的是 手机端H5页面这样做就直接变下载了 那么想要实现手机端的pdf文件预览就需要用到pdf.js了 首先 我们访问地址 http://mozilla.g ...

  2. 车内看车头正不正技巧_坡道定点停车和起步技巧详解,助你100%过关

    点击上面蓝字即可关注↑点击右上角分享到朋友圈 坡道定点停车和起步在科目二考试五个项目中是比较难的项目,仅次于倒车入库,也是在考场上出错率第二高的考试科目.很多学员多次考试栽到坡道定点停车和起步上,甚至 ...

  3. 关于MultiActionController异步请求Ajax,pc端正常,手机端报error错误;此问题一般是通过setInterval,seTimeout,做Ajax轮询时会产生此问题;

    此问题全网唯一! 关于MultiActionController异步请求Ajax,pc端正常,手机端报error问题:此问题一般是通过setInterval,seTimeout,做Ajax轮询时会产生 ...

  4. 侍魂胧月传说服务器维护,侍魂胧月传说手游2021年6月2日停机维护更新详解

    在侍魂胧月传说手游中2021年6月2日更新了哪些有趣的内容呢?想了解2021年6月2日更新情况如何的话,接下来就让我们一起来看一下吧! 侍魂胧月传说手游2021年6月2日停机维护更新详解 <侍魂 ...

  5. python符号格式化设置区间_Python 数值区间处理_对interval 库的快速入门详解

    使用 Python 进行数据处理的时候,常常会遇到判断一个数是否在一个区间内的操作.我们可以使用 if else 进行判断,但是,既然使用了 Python,那我们当然是想找一下有没有现成的轮子可以用. ...

  6. python中heapq的库是什么_详解Python中heapq模块的用法

    详解Python中heapq模块的用法 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  详解Python中heapq模块的用法.txt ] (友情提示:右键点上行t ...

  7. python中get函数是什么意思_详解python中get函数的用法(附代码)_后端开发

    strncmp函数用法详解_后端开发 strncmp函数为字符串比较函数,其函数语法为"int strncmp ( const char * str1, const char * str2, ...

  8. 云风skynet-如何用skynet手撕万人同时在线游戏丨actor模型详解

    如何用skynet手撕万人同时在线游戏 1. 多核并发编程 2. actor模型详解 3. 游戏实现 视频讲解如下,点击观看: 云风skynet-如何用skynet手撕万人同时在线游戏丨actor模型 ...

  9. vue手机端回退_推荐3个快速开发平台 前后端都有 接私活又有着落了

    经常性逛github,发现了一些优秀的开源项目,其中的框架及代码非常不错,现在给大家推荐三个快速开发平台. 第一个就是优秀的Jeecg-boot快速开发平台 前端采用阿里的ant-design-vue ...

最新文章

  1. ohmyzsh用在mysql_oh-my-zsh,让你的终端从未这么爽过
  2. WebApi接口 - 响应输出xml和json
  3. ASP.NET中实现大结果集分页研讨 转
  4. 洛谷P3809 后缀数组模板
  5. git常用命名行总结
  6. 计算机主板时钟,主板时钟电路工作原理
  7. 知识产权创业的比赛结果
  8. 最大似然估计 (MLE) 最大后验概率(MAP)
  9. 【Python】35个经典案例:吃透Python中的if条件语句~
  10. Java反序列化json内存溢出_fastJson与一起堆内存溢出'血案'
  11. python 计算订单_python实现apriori算法的关联规则之支持度、置信度、提升度
  12. h.264视频文件封装
  13. TensorFlow中Variable()和get_variable()
  14. java中static关键字的理解(转载)
  15. NBU-备份系统盘和数据盘
  16. Android模仿新浪微博(启动界面登陆界面)
  17. 腾讯笔试经验-不是大牛-勿看
  18. 从 git 的历史记录中彻底删除文件或文件夹
  19. 7723Java斗破苍穹,斗破苍穹:斗帝空间开启,药尘入内寻夺焚决!
  20. 方法教程:如何下载网易云音乐上的视频到本地电脑

热门文章

  1. AndroidWidget实践 --- EverydayTips开发(6)
  2. Hadoop源码分析HDFS ClientProtocol——getBlockLocations
  3. Mahout各种推荐器的主要特点(转)
  4. Python的国际化
  5. ASP.NET Web Api 实现数据的分页
  6. web前端性能意义、关注重点、测试方案、优化技巧
  7. Extjs日期格式问题
  8. 分布式应用解耦利器rabbitmq
  9. php常用的四种排序算法
  10. C语言作业界面,c语言作业20191011121223