rem 结合 scss 移动端自适应 初级入门demo
首先说明 本篇 内容 适合初级使用 rem 开发移动端 自适应 公式计算 推导过程, 高手绕路。
目标尺寸 = rem * 根字体大小
Px = rem * (html根字体px)
根字体大小 = 比例值 = 屏幕尺寸宽度/PSD稿尺寸宽度
目标尺寸 = rem * 屏幕尺寸宽度/PSD稿尺寸宽度
Html跟字体浏览器支持 最小 12像素, 避免过小加权 系数 n
实际尺寸 实际尺寸 屏幕尺寸宽度 实际尺寸 屏幕尺寸宽度 * n 实际尺寸 屏幕尺寸宽度
目标尺寸 = ————— * 根字体大小 = ——————— * —————————— = —————— * ———————————— = ——————— * ———————————————————————————
1 1 PSD稿尺寸宽度 1 * n psd稿 尺寸宽度 a b (尽可能让b值小 这样字体不会小于12像素)
psd稿 尺寸宽度 = a * b;
实际尺寸 屏幕尺寸宽度
目标尺寸 = —————— * ————————————
1 PSD稿尺寸宽度(640)
以PSD 640像素为例
实际尺寸 屏幕尺寸宽度
目标尺寸 = ——————— * -------————————
100 6.4 (640=100*6.4)
回归开始
目标尺寸 = rem * 根字体大小
结合前端预编译工具 scss 生成rem:
@function rem( $px) {
@return $px*(1/100)*1rem;
}
JS 根据屏幕宽度计算 字体大小:
//- 设置根元素fontSize~
(function (doc, win) {
var _root = doc.documentElement,
resizeEvent = 'orientationchange' in window ? 'orientationchange' : 'resize';
function resizeFont () {
var clientWidth = _root.clientWidth;
_root.style.fontSize = (clientWidth/6.4) + 'px';
//console.log('w:' + clientWidth );
}
win.addEventListener(resizeEvent, resizeFont, false);
doc.addEventListener('DOMContentLoaded', resizeFont, false);
})(document, window);
--------------------延伸-----------------------------------------------------------------------------------
实际尺寸
目标尺寸百分比 = ————————————————
上下文元素元素尺寸
反推
实际尺寸
Rem = ——————---------------
根字体大小
---------------------------------------------------------------------------------------------------------
完整代码 链接:
rem 结合 scss 移动端自适应 初级入门demo的更多相关文章
- 基于vue-cli配置手淘的lib-flexible + rem,实现移动端自适应
没接触过flexible的建议先看看大漠的这篇文章这样你才会知道长度为什么用rem,而字体要用px 安装flexible npm install lib-flexible --save 引入flexi ...
- 【转载】rem自适应布局-移动端自适应必备
原文链接:rem自适应布局-移动端自适应必备 版权所有,转载时请注明出处,违者必究. 由于移动端特殊性,本文讲的是如何使用rem实现自适应,或叫rem响应式布局,通过使用一个脚本就可以rem自适应,不 ...
- mui初级入门教程(六)— 模板页面实现原理及多端适配指南
文章来源:小青年原创发布时间:2016-07-26关键词:mui,webview,template,os,多端适配转载需标注本文原始地址: http://zhaomenghuan.github.io. ...
- rem实现移动端自适应页面
一.把px转换成rem方案 1.cssrem插件 2.css预处理器 3.rem-unit插件 4.px2rem插件 rem就是相对于根元素的font-size来做计算,设置好根结点字体大小,子节点用 ...
- 响应式Web初级入门
本文来自我的前端博客,原文地址:http://www.hacke2.cn/about-responsive/ 跨终端时代的到来 当你乘坐各种交通工具(公交.地铁.轻轨.火车)时你会发现,人们都个个低下 ...
- webstorm下的sass自动编译和移动端自适应实践
1.安装Ruby 2.安装sass 3.webstorm配置file watcher 4.移动端自适应 1.安装Ruby 安装Ruby,有多种方式,打开官网下载 因为,使用的是window选择Ruby ...
- 基于vue-cli配置移动端自适应
移动端自适应:手淘的 lib-flexible + rem 配置 flexible 安装 lib-flexible 在命令行中运行如下安装: 1 npm i lib-flexible --save 引 ...
- vue+vue-cli+淘宝lib-flexible做移动端自适应
总结用vue+vue-cli+淘宝lib-flexible做移动端自适应方案: 1.安装淘宝lib-flexible npm install lib-flexible --save 2.在入口文价ma ...
- 有了这套flexible.js 移动端自适应方案,你就能在移动端的来去自如, (*^__^*)
flexible.js 移动端自适应方案 一,flexible.js 的使用方式: github地址:https://github.com/amfe/lib-flexible 官方文档地址:https ...
随机推荐
- 快速实现python c扩展模块
1 python扩展模块的组成 在python中,对于一些和系统相关的模块或者对性能要求很高的模块,通常会把这个模块C化.扩展模块中主要包含下面几个部分: init函数,函数名为:init+模块名, ...
- 都能读懂的css3 3D变形效果
css3 3D变形效果 CSS3 transform3D变形 transform的含义是:改变,使-变形:转换 三维变换使用基于二维变换的相同属性,如果您熟悉二维变换,你们发现3D变形的功能和2D变换 ...
- .net 基础服务开源战略规划备忘录
公司现状 1. 技术人员水平限制: 基础研发人员技术细节,性能处理能力不足,技术视野不够开阔;甚至一些高可用,高性能方案的概念都未听闻,更别提发展方向和思路了,令人痛心. 2. 技术反馈渠道限制: 公 ...
- express框架介绍
//引入express模块 var express = require('express'); //调用express方法,接受其返回值(返回值为对象) var app = express(); ap ...
- 响应者链-----iOS
正文 以触摸事件为例,说一下响应者链 当发生触摸事件后,Runloop监听到事件,会将其事件打包成一个UIEvent事件,并放入当前活动UIApplication的事件队列中,再会传给UIWindow ...
- [TPYBoard-Micropython之会python就能做硬件 7] 学习使用蓝牙模块及舵机
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.实验器材 1.TPYboard V102板 一块 2 ...
- Javascript中好用更改时间的方法
<script type="text/javascript"> //格式化时间格式的字符串 String.prototype.myTimes = function () ...
- Jquery的学习:基础核心!
一.什么是 jQuery jQuery是一个JavaScript库,它通过封装原生的JavaScript函数得到一整套定义好的方法.它的作者是John Resig,于2006年创建的一个开源项目,随着 ...
- Vue 2.0初学后个人总结及分享
摘要:最近在上海找工作,发现Vue前景还不错,于是就打算先学习一下(之前了解过,但是一直没提到日程上)这篇随笔当是为了自己学习之后,做一个小的阶段性总结.希望本文的内容对于刚开始接触vue的朋友们有点 ...
- js小动画算法
function step(A,B,rate,callback){ A = A + (B - A) / (rate || 2); if(Math.abs(A-B) < 1){ callback( ...