rem适配方案
页面布局单位计算 一般有两大类:绝对长度单位和相对长度单位
绝对长度单位:
- px 像素:是显示屏上显示的每一个小点,为显示的最小单位
- in 英寸,1in = 96px
- cm 厘米,1cm = 37.8px
- mm 毫米,1mm = 3.78px
- pt 磅,1pt = 1/72 英寸
 
推荐使用 px(像素)
相对长度单位:
- em 相对于当前元素的字体大小(font-size) ,当前元素未设置字体大小依赖其父元素字体大小一级级向上查找 1em= 1 × 当前元素字体大小;
- rem 相对于根元素的字体大小(font-size),计算公式 1rem =1 × 根元素字体大小;
- % 目标元素宽度/父级元素宽度=百分比宽度 ;
- ex & ch  相对于元素字符字体宽高
- ex  取自字符x的高度
- ch 基于'0'这个字符字体的宽度计算
 
- ex  
- vw & vh   根据 视口(浏览器可视化的区域) 的宽高计算 
- vw  当前视窗宽度的 1%
- vh   当前视窗高度的 1%
 
- vw  当前视窗宽度的 
- vmin & vmax当前- vw和- vh中较小或者较大的值
 
目前 IE8一下不支持 rem,IE9,10部分不支持
如果这个属性根据它的font-size进行测量,则使用em
其他的视情况使用对应单位.
rem 几种方法:
js计算
<script>
/*让文字和标签的大小随着屏幕的尺寸变化 等比缩放*/
var html = document.getElementsByTagName('html')[0]; /*取到屏幕的宽度*/
var width = window.innerWidth;
var fontSize = 100/640*width;
html.style.fontSize = fontSize +'px';
window.onresize = function(){
var html = document.getElementsByTagName('html')[0]; var width = window.innerWidth; var fontSize = 100/640 * width;
/*设置fontSize*/
html.style.fontSize = fontSize +'px';
}
</script>
使用媒体查询:
@media (max-width:768px){
    html {
    font-size:16px;
  }
}
rem适配方案的更多相关文章
- 谈谈我的移动端rem适配方案
		最近有点怀疑人生,毕竟一个人写前端,有时候会怀疑自己理解的一些东西包括用法有没有符合标准.趁着这阵子闲下来,翻了翻别人的rem适配博客,发现有点绕口,怪自己是个强迫症,啥都要自己去试试结果并从中理解, ... 
- em与rem之间的区别以及移动设备中的rem适配方案
		em与rem之间的区别: 共同点: 它们都是像素单位 它们都是相对单位 不同点: em大小是基于父元素的字体大小 rem大小是基于根元素(html)的字体的大小 实例: <!DOCTYPE ht ... 
- H5 端 rem 适配方案与 viewport 适配
		H5 端 rem 适配方案与 viewport 适配 rem rem 是 CSS3 新增的一个相对单位(root em,根 em) 只根据当前页面 HTML 页面的 font-size 设置,如果根目 ... 
- 最佳移动端h5自适应rem适配方案
		一.利用lib-flexible.postcss-plugin-px2rem插件 进行移动端rem适配. 1.第一 引入lib-flexible . 安装lib-flexible: npm i lib ... 
- vue中使用第三方UI库的移动端rem适配方案
		需求:使用vue-cli脚手架搭建项目,并且使用第三方的UI库(比如vant,mint ui)的时候,因为第三方库用的都是用px单位,无法使用rem适配不同设备的屏幕. 解决办法:使用px2rem-l ... 
- 淘宝rem适配方案
		/*px 转化换 rem ,转化是 10 .比如:你的设计图为750,那么就 750 / 75 = 10 rem.设计图中你量尺寸都要除 75 就是 rem值.再比如量的设计图按钮宽度 66px,那么 ... 
- 移动web开发适配方案之Rem
		移动端为什么要做适配 移动端相对PC端来说大部分浏览器内核都是基于Webkit的,所以大部分都支持CSS3的最新语法.但是由于手机的屏幕尺寸和分辨率都不太一样(尤其是安卓),所以不得不对不同分辨率的手 ... 
- 移动端高清适配方案(解决图片模糊问题、1px细线问题)
		本文介绍了移动端适配的3种方法,以及移动端图片模糊问题和1px细线问题的解决方法.当然了,在这之前先整理了与这些方法相关的知识:物理像素.设备独立像素.设备像素比和viewport. >> ... 
- vue项目中使用了vw适配方案,引入第三方ui框架mint-ui时,适配问题解决
		问题分析: 一般第三方ui框架用的都是不同的适配方式,如果我们使用了vw适配,那么在使用mint-ui框架时,就会发现px单位会被转换成vw,从而导致样式变小的问题,如图 解决方案 网上看到了很多种解 ... 
随机推荐
- windows驱动环境配置vs2010+wdk7600
			安装wdk后 要勾选集成VSIX选项到vs里面,不然vs里面新建项目时候找不到windows Driver 最简单的方式是安装wdk7600+vs2010+VisualDDK-1.5.7 这三个软件 ... 
- git教程1-gitlab部署
			https://about.gitlab.com/install/#centos-7 https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/ gitla ... 
- 005 Longest Palindromic Substring 最长回文子串
			Given a string s, find the longest palindromic substring in s. You may assume that the maximum lengt ... 
- python3+Appium自动化06-屏幕截图
			截图方法 save_screenshot() 该方法直接保存当前屏幕截图到当前脚本所在文件位置 driver.save_screenshot('login.png') get_screenshot_a ... 
- arch安装软件提示包损坏
			错误:lib32-libjpeg6-turbo: signature from "Colin Keenan <colinnkeenan@gmail.com>" is u ... 
- CentOS6.x之emacs安装配置编译
			刚开始学习linux,干学没什么意思,想在linux下写写程序,了解到linux下使用较多的是emacs和vim,在youtobe上分别看了看这两个工具进行开发的视频,个人感觉emacs比较酷一点,所 ... 
- Python 配置文件加载且自动更新(watchdog)
			安装依赖:pip install watchdog #!/usr/bin/env python3 # -*- coding: utf-8 -*- import logging import os im ... 
- Maven基本使用汇总
			1. 基础问题 0.eclipse工程转maven工程:工程->右键->configure->convert to maven project 1.pom.xml总是在项目的根目录. ... 
- aspx有"记住我"的登录
			客户端 <form id="form1" runat="server"> <div> 用户名:<input type=" ... 
- 关于myeclipse导入项目时出现的中文注释乱码问题
			要设置myeclipse的编码,需要了解各个设置项的作用 第一类编码设置项,虽然有三处设置,但是是可以归为一类的 第一处为myeclipse的工作区(workspace),其范围最 ... 
