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”作为单位设置元素,所以从 ...
随机推荐
- VSS错误:The Sourcesafe Web service cannot be accessed at the specified address
第一次使用正常,今天再次打开vs项目的时候就突然连不上vss的服务器了. 手动修改连接的时候会让输入一个address(http的) (一般正常的连接会是浏览的方式找到服务器文件的地址的) ...
- 快递鸟顺丰电子面单接口API-JAVA
一.电子面单对接案例 1.接口描述 接口支持的消息接收方式:HTTP POST 请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;cha ...
- Xamarin自学教程(Android)之一
废话少说,我们直接开始吧.有兴趣的就一起,我慢慢写,咱们一起慢慢学.希望两个月内能基本完成基于Xamarin的Android开发内容. 还是一样,先来安装开发环境吧.跟着做就行了. 首先,我们到微软的 ...
- 经典的iptables shell脚本
PS:这个iptables脚本不错,很实用,根据实际应用改一下就可以自己用.分享出来,供大家来参考.原作者佚名.源代码如下: #!/bin/sh modprobe ipt_MASQUERADE mod ...
- 查找字符对应Unicode码的十进制数字
//将字符转换为Unicode码中字符对应十进制数字 int byte0 = 'A' & 0xff;//byte0=65 参考文档:http://baike.baidu.com/view/26 ...
- Debian 中添加ppa
在Debian8中默认没有"apt-add-repository"命令,所有也就没法安装ppa. 怎么破? sudo apt-get install software-proper ...
- 51nod 棋盘问题(博弈论)
题目链接: 棋盘问题 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 上帝创造了一个n*m棋盘,每一个格子都只有可能是黑色或者白色的. 亚当和夏娃在玩一个游戏,每次寻找边长为x的正方 ...
- Javascript计算中英文混输字符串长度V2
同上篇, client端也需要同样规则验证 compact_strlen: function(str) { var strlen = 0; for(var i =0; i<str.length; ...
- python中字典dict pop方法
首先引用下pythondoc pop(key[, default]) If key is in the dictionary, remove it and return its value, else ...
- 用LINQ在集合中查询特定对象
这里是原文出处: 简单的概括LINQ LINQ是Language-Integrated Query的缩写,是C# 3.0和VB 9.0中新加入的语言特性,可以在编程时使用内置的查询语言进行基于集合的操 ...