Rem实现移动端适配
移动端适配
- web页面跑在手机端(h5页面)
- 跨平台
- 基于webview()
- 基于webkit
常见适配方法
pc端采用display:inline-block,让div盒子横着排
移动web:采用定高,宽度百分比,flex弹性布局,meDIA QUERY 媒体查询;
媒体查询
结合css,通过媒体类型(screen、print)和媒体参数(max-width)@media screen and (max-width: 320px){
/* css在屏幕跨度<=320px时这段样式生效 */
.inner{
float: left;
}
}
@media screen and (min-width: 321px){
.inner{//
}
}
以上实现了一个简单的横排和竖排的响应
rem原理与简介
Rem就是一个字体单位,类似于px,
区别:他会根据HTML根元素大小而定,同时也可以作为高度和宽度的单位。
适配原理:动态修改html的font-size适配;rem是通过不同屏幕的大小设置html根元素的font-size的属性大小来实现适配。/* +_media实现*/
@media screen and (max-width: 360px) and (min-width: 321px){
html{
font-size: 20px;
}
}
@media screen and (max-width: 320px){
html{
font-size: 24px;
}
}
通过JS动态设置font-size:
//获取视窗宽度
let htmlWidth = document.documentElement.clientWidth || document.body.clientWidth;
console.log(htmlWidth);
let htmlDom = document.getElementsByTagName('html')[0];
htmlDom.style.fontSize = htmlWidth/10 + 'px';
rem进阶
rem基准值计算
1rem = 16px
rem数值计算与构建
170/16 = 170px
rem与scss结合使用(node-sass安装)
也可以直接安装sass(安装教程http://www.cnblogs.com/yehui-mmd/p/8035170.html)rem适配实战
通过监听浏览器视口来进行适配let htmlDom = document.getElementsByTagName('html')[0];
window.addEventListener('resize', (e)=>{
//获取视窗宽度
let htmlWidth = document.documentElement.clientWidth || document.body.clientWidth;
htmlDom.style.fontSize = htmlWidth/10 + 'px';
})
定义rem适配的函数及使用(sass语法)
@function px2rem($px) {
$rem:37.5px;//iphone6
@return ($px / $rem) + rem;
}
.header{
width:100%;
height: px2rem(40px);
background-color: red;
padding-left: px2rem(23px);
}
Rem实现移动端适配的更多相关文章
- JS+rem,移动端适配
window.onresize = function () { setHtmlFz(); } setHtmlFz(); function setHtmlFz() { // 基础值 var baseVa ...
- 小tips:使用rem+vw实现简单的移动端适配
首先设置meta属性,如下代码: <meta name="viewport" content="width=device-width, initial-scale= ...
- 移动端适配单位rem
0 写在前面 本周惊喜地发现,其他各个老师的软工班(罗杰老师班和欧阳老师班)的软工项目的alpha版本都已经发布了!(然而我们软工项目还没开始写代码…逃…) 十分好奇的我第一时间下载了一些他们的产品进 ...
- rem移动端适配方案
一. rem vs em 单位 定义 特点 rem font size of the root element 以根元素字体大小为基准 em font size of the element 以父元素 ...
- 移动端适配之REM
随着手机等移动设备的普及,移动端带来的流量已经不可忽视,一个网站不只是只有pc的页面就足够了,移动端的适配已经势在必行.但是移动设备种类繁多,屏幕尺寸也千奇百怪,能不能找到一种方式可以适配所有的手机屏 ...
- rem简单实现移动端适配
rem:移动web开发 默认字体大小是16px 在<html>中设置字体大小 与em的区别: em是在父级设置字体大小受影响 移动端适配 首先获取屏幕的宽度 计算当前屏幕宽度和640的比例 ...
- 移动端适配(rem & viewport)--移动端开发整理笔记(四)
移动端适配 通过rem适配 em: 根据元素自身的字体大小来计算自己的尺寸 rem: (root em) 根据根节点(html)的字体大小来计算自己的尺寸 我们知道,在不同的手机设备,分辨率大小是 ...
- 移动端适配 后篇(rem+vm)
涉及到的一些名词, 详细解释可参考 移动端适配前篇--移动端适配 rem 名词解释 [英寸Inch]英寸表示屏幕斜对角线的长度 [像素Pixel]像素是图像的基本采样单位,它不是一个确定的物理量,因为 ...
- 移动端适配 rem
前置知识: 物理像素(physical pixel,device pixel) 物理像素(设备像素),显示设备中一个最微小的物理部件.每个像素可以根据操作系统设置自己的颜色和亮度. 设备独立像素(de ...
随机推荐
- 把typora改为微软雅黑+Consolas
前言 typora是一款非常方便的书写markdown文本的编辑器.官网:https://www.typora.io/ 对于字体强迫症患者来说,不把字体改成微软雅黑+Consolas,那是相当难受.本 ...
- JS片段大总结
html中的标签都可以加一个id的属性. <body> <div id="tree" data-leaves="47" data-plant- ...
- iis7.5安装配置php环境详细清晰教程,三步实现【图文】
iis7.5安装配置php环境详细清晰教程,三步实现[图文] iis7.5是安装在win7.win8里的web服务器,win2003.win2000的web服务器使用的是iis6.0,由于win7.w ...
- 记一次服务器迁移 TFS客户端ip更换
服务器迁移,TFS服务端IP由原10.58.8.231更换至10.58.1.230 TFS客户端更换ip操作比较复杂,请谨慎操作,避免脱库的风险!!! 打开注册表,运行->regedit 找到H ...
- yarn 与 resource manager ha
YARN最初的思想是把hadoop1中的job tracker的功能拆分出来,把它的资源管理与任务调度功能分成两个单独的进程.yarn体系结构中有两个进程,resource manager和nodem ...
- JQuery EasyUI 扩展方法 日期控件 设置时间段函数
/** Jquery扩展方法--by hgx 2018年1月8日-- * 设置时间段函数,开始时间(1号)与结束时间(当前日期) * 传入参数:--spaceMonth:查询间隔月,1为间隔查询一个月 ...
- spark[源码]-DAG调度器源码分析[二]
前言 根据图片上的结构划分我们不难发现当rdd触发action操作之后,会调用SparkContext的runJob方法,最后调用的DAGScheduler.handleJobSubmitted方法完 ...
- selenium的基本介绍
应吴姑娘(漂亮的姑娘)之邀,加上我师兄(屌丝)和国新(屌丝),组了个四黑小团伙,每周二分享点东西,感觉就是四个辣鸡相互取暖.可惜,今天早上直接是睡过去了,下午都捐给了<白夜追凶>---没办 ...
- design thinking
- 此博客可能不再更新,往后博文将发布在 GitHub 中
在 GitHub 上, 可以建立不同的仓库,显示分类可以更明确: 有不同分支,可以打很多次草稿: 用 markdown 语法来书写比较舒服(博客园也可以设置): 最主要的是 GitHub 装逼呀!!! ...