webview页面的自适应一般有两种方法,即一是JS的计算方法,二是通过css的media设置分档方式。在此主要介绍css的方式。

 html {
font-size: 16px;
}
@media only screen and (min-width:360px){
html {
font-size: 18px;
}
}
@media only screen and (min-width:375px){
html {
font-size: 19px;
}
}
@media only screen and (min-width:412px){
html {
font-size: 21px;
}
}

一、设置基准值

设置html的基准值font-size:16px; 然后按照上面的分的iphone4,iphone6和iphone6s的三个分档。

二、选择单位

  以下的换算都是以基准16px为准,如果是以ihpne6的尺寸测量的设计稿的话,就将 测量的px值/2/19 就可以计算相应的值。

1. rem的方式

  以rem为单位的话,就是以根元素(body)为标准来换算。

 <div class="welcom-login">
<div class="logo-login"></div>
<div class="solo"></div>
</div>

.welcome-login{
width: 25rem; /* 400px(实际宽度) / 16(body基准值) = 所求得的值 rem */
height: 12.5rem; /* 200px(实际宽度) / 16(body基准值) = 所求得的值 rem*/
}
.welcome-login .logon-login{
width: 2.5rem; /* 40px(实际宽度) / 16(body基准值) = 所求得的值 rem */
height: 1.25rem; /* 20px(实际宽度) / 16(body基准值) = 所求得的值 rem */
}
因为rem是以根元素的标准来计算的,所以.logo-login 的换算还是 以实际值 除以的 16。不管里面嵌套多少层,都是以设计稿中测量的px值除以基准值。 

2. em的方式

需要分情况,当前元素是否有设置font-size的大小。

当没有设置font-size时,当前元素的width和height就继承父级元素的font-size,在计算时就以实际px/父元素的实际字体大小(px),就如.welcome-login .logn-login中计算的值一样。

当需要设置font-size时,font-size的换算是除以父元素的实际大小后所的的值;而此时,该元素的widht和height的计算,就以当前元素的font-size的实际大小(px)为基准来计算,如下面.welcome-login中计算的一样。

.welcome-login{
font-size: 1.5em; /* 24px(实际字体大小) / 16(父元素的实际字体大小) = 所求得的值 em */
width: 16.666667em; /* 400px(实际宽度) / 24(body基准值) = 所求得的值 em */
height: 8.333333em; /* 200px(实际宽度) / 24(body基准值) = 所求得的值 em*/
}
.welcome-login .logo-login{
width: 1.666667em; /* 40px(实际宽度) / 24(父元素的实际字体大小) = 所求得的值 em */
height: .833333em; /* 20px(实际宽度) / 24(父元素的实际字体大小) = 所求得的值 em */
}

更多详细介绍可以参考

http://www.uml.org.cn/html/201207311.asp

webview的弹性布局之rem,em的更多相关文章

  1. web app 自适应方案总结 关键字 弹性布局之rem

    关于rem,主要参考文档 1.腾讯ISUX (http://isux.tencent.com/web-app-rem.html) 2.http://www.w3cplus.com/css3/defin ...

  2. web app 自适应方案总结 弹性布局之rem

    关于rem,主要参考文档 1.腾讯ISUX (http://isux.tencent.com/web-app-rem.html) 2.http://www.w3cplus.com/css3/defin ...

  3. web app 自适应 弹性布局之rem

    关于rem,主要参考文档 1.腾讯ISUX (http://isux.tencent.com/web-app-rem.html) 2.http://www.w3cplus.com/css3/defin ...

  4. 自适应布局,响应式布局以及rem,em区别

    一.自适应和响应式 先说共同点: 两者都是因为越来越多的 移动设备( mobile, tablet device )加入到互联网中来而出现的为移动设备提供更好的体验的技术.用技术来使网页适应从小到大( ...

  5. 浅谈静态布局、流式布局,rem布局,弹性布局、响应式布局

    静态布局: 特点:没有兼容性问题 PC:居中布局,所有样式使用绝对宽度/高度(px),设计一个Layout,在屏幕宽高有调整时,使用横向和竖向的滚动条来查阅被遮掩部分:移动设备:另外建立移动网站,单独 ...

  6. 你不知道的css各类布局(五)之em布局、rem布局

    em布局/rem布局 em和rem的区别 在了解弹性布局前我们需要先知道em和rem rem:font size of the root element,rem是相对于根元素<html>来 ...

  7. 前端笔记之移动端&响应式(中)视口&百分比布局&弹性盒模型&rem&fillpage

    一.viewport视口 1.1什么是屏幕尺寸.屏幕分辨率.屏幕像素密度? 屏幕尺寸:指屏幕的对角线的长度,单位是英寸,常见的屏幕尺寸有3.5.3.7.4.2.4.7.5.0.5.5.6.0等. 屏幕 ...

  8. 适用于移动设备弹性布局的js脚本(rem单位)

    背景介绍 目前,随着移动设备的普及和4G网络的普及,web在移动端的占比已经远远超过PC端,各种H5页面推广页面,H5小游戏热度火爆.以前简单的使用px单位(没有弹性)的时代已经无法满足各位设计师和用 ...

  9. CSS3中的弹性布局——"em"的用法

    使用CSS也好久了,但一直都是在使用“px”来设置Web元素的相关属性,未敢使用“em”.主要原因是,对其并不什么了解,只知道一点概念性的东西,前段时间在项目中要求使用“em”作为单位设置元素,所以从 ...

随机推荐

  1. Hadoop从2.2.0到2.7

    Hadoop2.2.0 GA release 通用版本,Hadoop2.2.0就是一个通用版本 Hadoop2.2.0是从Hadoop1.1.0升级过来的,增加了以下特性: 1.增加了YARN: 2. ...

  2. 简要地写出一个.NET Remoting的示例

    在VS 2008中添加新的类库项目,并命名为NetRmClass,将所属解决方案命名为NetRm,勾选“创建解决方案的目录”.这样,NetRmClass类库项目目录即属于NetRm解决方案,并可以继续 ...

  3. solrj:org.apache.solr.common.util.NamedList.java

    package org.apache.solr.common.util; import java.io.Serializable; import java.util.ArrayList; import ...

  4. iOS ----Pods-resources.sh Permission denied

    1:执行指令 chmod a+x "路径(Pods-resources.h文件所在的路径)" 2:cd 进如pods文件夹下面 3:执行指令 第一步: sudo chmod 777 ...

  5. ASP.NET通过byte正确安全的判断上传文件格式

    本文介绍一种更安全的方式上传图片,他能有效的防止一些通过修改文件后缀或MIME来伪造的图片的上传,从而保证服务器的安全,希望对大家有所帮助. ASP.NET中在判断文件格式时,我们以前常用的方法就是通 ...

  6. leetcode题解: Remove Duplicates from Sorted List(已排序单链表去重)

    题目: Given a sorted linked list, delete all duplicates such that each element appear only once. For e ...

  7. iOS UINavigationController 详解

    developer.apple.com/cn/ 导航条   UINavigationBar继承UIView 导航控制器    UINavigationController (压栈,出栈)        ...

  8. 【MongoDB】MongoDB服务器搭建(Unix/Linux)

    1.安装MongboDB安装包(开源免费的哟) 在Mac 下 brew install mongoDB 就可以啦 安装要等一会儿,大概200M 2. cd到MongboDB文件夹 - 如果是用home ...

  9. sql语句大全~·留着有用

    一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备 ...

  10. Linux之zsh

    0.安装zsh: sudo apt-get install zsh git wget 1.启用zsh:chsh -s /bin/zsh 2.github: https://github.com/rob ...