WebApp - Rem 是如何实现自适应布局的?(一)

简介: WebApp - Rem 是如何实现自适应布局的?(一)

前言

rem是相对于根元素<html>,这样就意味着,我们只需要在根元素确定一个px字号,则可以来算出元素的宽高。本文讲的是如何使用rem实现自适应。·

rem这是个低调的css单位,近一两年开始崭露头角,有许多同学对rem的评价不一,有的在尝试使用,有的在使用过程中遇到坑就弃用了。但是我对rem综合评价是用来做web app它绝对是最合适的人选之一。


rem是什么?

rem(font size of the root element)是指相对于根元素的字体大小的单位。简单的说它就是一个相对单位。看到rem大家一定会想起em单位,em(font size of the element)是指相对于父元素的字体大小的单位。它们之间其实很相似,只不过一个计算的规则是依赖根元素一个是依赖父元素计算。·

 


rem & html{font-szie} & js控制 之间的关系?

通过 js 控制 html{font-szie} 的大小,而 rem 会根据 html{font-szie} 的大小来自适应。

 


为什么web app要使用rem?

这里我特别强调web app,web page就不能使用rem吗,其实也当然可以,不过出于兼容性的考虑在web app下使用更加能突显这个单位的价值和能力,接下来我们来看看目前一些企业的web app是怎么做屏幕适配的。

 


1、实现强大的屏幕适配布局:

最近iphone6一下出了两款尺寸的手机,导致的移动端的屏幕种类更加的混乱,记得一两年前做web app有一种做法是以320宽度为标准去做适配,超过320的大小还是以320的规格去展示,这种实现方式以淘宝web app为代表作,但是近期手机淘宝首页进行了改版,采用了rem这个单位,首页以内依旧是和以前一样各种混乱,有定死宽度的页面,也有那种流式布局的页面。

我们现在在切页面布局的使用常用的单位是px,这是一个绝对单位,web app的屏幕适配有很多中做法,例如:流式布局、限死宽度,还有就是通过响应式来做,但是这些方案都不是最佳的解决方法。

例如流式布局的解决方案有不少弊端,它虽然可以让各种屏幕都适配,但是显示的效果极其的不好,因为只有几个尺寸的手机能够完美的显示出视觉设计师和交互最想要的效果,但是目前行业里用流式布局切web app的公司还是挺多的,看看下面我收集的一些案例:


image.png

image.png

image.png

image.png


上面的网站都是采用的流式布局的技术实现的,他们在页面布局的时候都是通过百分比来定义宽度,但是高度大都是用px来固定住,所以在大屏幕的手机下显示效果会变成有些页面元素宽度被拉的很长,但是高度还是和原来一样,实际显示非常的不协调,这就是流式布局的最致命的缺点,往往只有几个尺寸的手机下看到的效果是令人满意的,其实很多视觉设计师应该无法接受这种效果,因为他们的设计图在大屏幕手机下看到的效果相当于是被横向拉长来一样。·

流式布局并不是最理想的实现方式,通过大量的百分比布局,会经常出现许多兼容性的问题,还有就是对设计有很多的限制,因为他们在设计之初就需要考虑流式布局对元素造成的影响,只能设计横向拉伸的元素布局,设计的时候存在很多局限性。

目录
相关文章
|
1月前
|
前端开发 JavaScript
移动端webApp自适应布局解决方案
移动端webApp自适应布局解决方案
34 0
|
Web App开发 编解码 JavaScript
WebApp - Rem 是如何实现自适应布局的?(二)
WebApp - Rem 是如何实现自适应布局的?(二)
250 0
WebApp - Rem 是如何实现自适应布局的?(二)
|
前端开发 JavaScript
移动端webApp自适应布局解决方案
移动端webApp自适应布局解决方案
260 0
移动端webApp自适应布局解决方案
|
7月前
|
开发框架 JavaScript
本地运行github上的vue2.0仿饿了么webapp项目
本地运行github上的vue2.0仿饿了么webapp项目
56 1
IDEA导入web项目时webapp的小蓝点没亮
IDEA导入web项目时webapp的小蓝点没亮
128 0
|
Java
idea创建java项目后添加webapp怎么配置
如何在如下结构中添加webapp呢( 当前项目为Demo2_web)
1008 0
idea创建java项目后添加webapp怎么配置
|
Java
项目下没有Web App Libraries
项目下没有Web App Libraries应该如何做?本文带大家解决这个问题。
496 0
项目下没有Web App Libraries
|
移动开发
H5旅游webapp(顺便游)|移动端旅行项目
这个世界上总有这么一类人,为了某种目的,而不得不到外地逗留,例如为了出去参加各类比赛的学生、为了出差到某地参加会议的工作人士。在他们的正事之外,他们的空余时间完全没有得到合理的安排。综合来看,针对这类人的顺带游app寥寥无几。
2689 0
|
移动开发
【精】H5移动端webapp开发(快装app)项目案例
现代人生活品质愈来愈高,之前想要了解家居的话,必须去实体门店,现在各类app如繁花乍现,也改变了人们的生活理念。app在手,全都不愁。如是利用了HTML5+css3开发了一个快速装修移动端app,界面新颖、功能不错,利用iscroll实现页面上拉刷新、下拉加载,swiper实现区块轮播。
12122 0