webview的弹性布局之rem,em
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的更多相关文章
- web app 自适应方案总结 关键字 弹性布局之rem
关于rem,主要参考文档 1.腾讯ISUX (http://isux.tencent.com/web-app-rem.html) 2.http://www.w3cplus.com/css3/defin ...
- web app 自适应方案总结 弹性布局之rem
关于rem,主要参考文档 1.腾讯ISUX (http://isux.tencent.com/web-app-rem.html) 2.http://www.w3cplus.com/css3/defin ...
- web app 自适应 弹性布局之rem
关于rem,主要参考文档 1.腾讯ISUX (http://isux.tencent.com/web-app-rem.html) 2.http://www.w3cplus.com/css3/defin ...
- 自适应布局,响应式布局以及rem,em区别
一.自适应和响应式 先说共同点: 两者都是因为越来越多的 移动设备( mobile, tablet device )加入到互联网中来而出现的为移动设备提供更好的体验的技术.用技术来使网页适应从小到大( ...
- 浅谈静态布局、流式布局,rem布局,弹性布局、响应式布局
静态布局: 特点:没有兼容性问题 PC:居中布局,所有样式使用绝对宽度/高度(px),设计一个Layout,在屏幕宽高有调整时,使用横向和竖向的滚动条来查阅被遮掩部分:移动设备:另外建立移动网站,单独 ...
- 你不知道的css各类布局(五)之em布局、rem布局
em布局/rem布局 em和rem的区别 在了解弹性布局前我们需要先知道em和rem rem:font size of the root element,rem是相对于根元素<html>来 ...
- 前端笔记之移动端&响应式(中)视口&百分比布局&弹性盒模型&rem&fillpage
一.viewport视口 1.1什么是屏幕尺寸.屏幕分辨率.屏幕像素密度? 屏幕尺寸:指屏幕的对角线的长度,单位是英寸,常见的屏幕尺寸有3.5.3.7.4.2.4.7.5.0.5.5.6.0等. 屏幕 ...
- 适用于移动设备弹性布局的js脚本(rem单位)
背景介绍 目前,随着移动设备的普及和4G网络的普及,web在移动端的占比已经远远超过PC端,各种H5页面推广页面,H5小游戏热度火爆.以前简单的使用px单位(没有弹性)的时代已经无法满足各位设计师和用 ...
- CSS3中的弹性布局——"em"的用法
使用CSS也好久了,但一直都是在使用“px”来设置Web元素的相关属性,未敢使用“em”.主要原因是,对其并不什么了解,只知道一点概念性的东西,前段时间在项目中要求使用“em”作为单位设置元素,所以从 ...
随机推荐
- C++ 设计模式2 (面向对象设计原则)
1. 变化是复用的天敌! 面向对象设计的最大优势在于 : 抵御变化 2. 重新认识面向对象 理解隔离变化: 从宏观层面来看,面向对象的构建方式更能适应软件的变化, 能将变化所带来的影响减为最小. 各司 ...
- struts1标签-<html:radio> 使用注意事项
struts1标签-<html:radio> 使用注意事项 1.默认选中效果 在后台XxxForm中写入如下代码,可保证默认选中效果实现: @Override public void re ...
- Win10环境下使用VS2015编译PJProject
一.pjproject源码下载 下载地址:http://www.pjsip.org/ 二.编译之前 1.pj配置,通常直接复制并重命名config_site_simple.h为config_site. ...
- 《JavaScript高级程序设计》笔记——关于继承
继承在JavaScript中是一种“奇葩”的存在,因为其本身并没有类(class)的概念(ES5),所以只能用其他方式(原型链.构造函数.对象实例)来模拟继承的行为.既然是模拟,那就应该是想办法实现继 ...
- Backbone.js学习之Collection
首先,当然是一如既往地看官方文档的解释. Collections are ordered sets of models. 翻译: Collections是models的一个集合. 关于book和boo ...
- 考上好大学,然后进入IT行业是穷人孩子晋级中产的唯一出路?
今天看到一篇不错的文章,内容如下: 这个问题来自于我在知乎上参与的一个热贴讨论,作为一个10年的老码农,创业公司呆过,二.三流的互联网公司混过,BAT也遛了一趟,如今再次回归创业,经历算得上狗血了,看 ...
- HttpContext 讲解
HttpContext类:封装有关个别HTTP请求的所有HTTP特定的信息,又叫上下文.看到这个解释,我觉得有些抽象,Http特定信息具体又是什么?看了下备注:为继承 IHttpModule 和 IH ...
- CSS之text-stroke
啧啧啧( ̄︶ ̄),国庆人太多,所以假期还没结束就提前几天回来了.今天也是挤火车赶回来的,被夹在门里好尴尬啊~~ 回家的这几天在外婆家招待过的好爽啊,又是鱼又是肉,馋的我都不想走了. 然而自己在家只能“ ...
- web.config connectionStrings 数据库连接字符串的解释
先来看一下默认的连接SQL Server数据库配置<connectionStrings> <add name="LocalSqlServer" connect ...
- 动态调用webservice时 ServiceDescriptionImporter类在vs2010无法引用的解决方法
[导读]ServiceDescriptionImporter是创建Web Service 时使用的类,它是引用继承System.Web.Services 当我将VS2005里写的一段代码放在VS201 ...