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 ...
随机推荐
- kettle配置命名参数
bat 调度文件如下 cd D:/Program Files/kettle700/data-integrationKitchen.bat /rep repository /dir /TEST /job ...
- FileLoadTools
/** * Created by dev013 on 9/9/14. */ var FileLoadTools = (function () { var my = {}; var htmlFile = ...
- The Cheap KD 8 is rumored to arrive online
Nike and also the Oklahoma City Thunder star revealed the Cheap KD 8, which they are calling probabl ...
- JVM类加载机制(转)
原文出自:http://www.cnblogs.com/ityouknow/p/5603287.html 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运 ...
- iOS开发之plist文件操作
之前在想用代码去实现很多界面上能用interface builder可以拖进去的功能,现在想想真是够无知的啊.不仅效率低下,而且对于代码的维护带来不少麻烦,这段时间一直在反思看了design+code ...
- PCLK怎么获得?
1.PCLK是由MCLK进行分频而来...... 2.PCLK是个时钟,通过寄存器只能调节它的频率什么的,它是控制像素输出的一个时钟: 3.在曝光时间的算法中需要知道PCLK的值,是因为在sensor ...
- 【c++ primer, 5e】返回类型和return语句
[无返回值函数] 1.在c++的void函数中,可以显式地使用return;语句来提前结束函数的调用. [有返回值函数] 1.值是如何被返回的:返回一个值的方式和初始化一个变量或者形参的方式完全一样. ...
- centos6.9 升级glibc(升级到 2.17版)
原系统centos6.9自带GLIBC_2.12,安装一些软体提示版本不对,决定升级. wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz tar ...
- c语言数据类型字节长度
突然间就想到了long和int到底什么区别(发现有很多问题都是突然间想到的),然后百度.google各种查找,各种书籍:<C++ Primer>.<C程序设计语言>查看,终于明 ...
- matlab练习程序(求灰度图像最大灰度,最小灰度,平均灰度)
转自 http://www.cnblogs.com/tiandsp/archive/2012/01/07/2316006.html 感谢Dsp tian clearclc;img = imread( ...