rem 结合 scss 移动端自适应 初级入门demo

首先说明 本篇 内容 适合初级使用 rem 开发移动端 自适应 公式计算 推导过程, 高手绕路。

目标尺寸 = rem  *  根字体大小

根字体大小 = 比例值 = 屏幕尺寸宽度/PSD稿尺寸宽度

目标尺寸 = rem  *  屏幕尺寸宽度/PSD稿尺寸宽度

Px    =  rem * (html根字体px)

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  = ——————

根字体大小

---------------------------------------------------------------------------------------------------------

完整代码 链接:

href="https://github.com/cantianshu/rem-and-scss-demo.git">
时间: 2024-09-29 16:45:22

rem 结合 scss 移动端自适应 初级入门demo的相关文章

基于vue-cli配置手淘的lib-flexible + rem,实现移动端自适应

没接触过flexible的建议先看看大漠的这篇文章这样你才会知道长度为什么用rem,而字体要用px 安装flexible npm install lib-flexible --save 引入flexible 在项目入口文件main.js中添加如下代码,引入flexible import 'lib-flexible' px 转 rem 使用 webpack 的 px2rem-loader,自动将px转换为rem 安装px2rem-loader npm install px2rem-loader -

浅谈移动端的自适应问题——响应式、rem/em、利用Js动态实现移动端自适应

随着3G的普及,越来越多的人使用手机上网.移动设备正超过桌面设备,成为访问互联网的最常见终端.于是,网页设计师不得不面对一个难题:如何才能在不同大小的设备上呈现同样的网页?本篇文章将讲述自适应网页设计的概念和方法,使网页开发人员维护同一个网页代码,即可使网站在多种设备上具有更好的阅读体验.本文详细介绍了自适应网页的实现方法,希望能给迷惑的你带来帮助. 一. 在HTML的头部加入meta标签 在HTML的头部,也就是head标签中增加meta标签,告诉浏览器网页宽度等于设备屏幕宽度,且不进行缩放,

响应式Web初级入门

本文来自我的前端博客,原文地址:http://www.hacke2.cn/about-responsive/ 跨终端时代的到来 当你乘坐各种交通工具(公交.地铁.轻轨.火车)时你会发现,人们都个个低下头在玩自己的手机.平板.Kindle,没错,你正在处于一个多终端设备的时代!手机用户连年上升,前几天我们在感叹以前玩沙包.陀螺,现在小孩的娱乐就是玩手机–.另外,微软的Xbox和任天堂的Wii等游戏设备也有自己的浏览器.设备真的来了.. 现在网站主流跨终端的有以下方式: 单域 比如前端乱炖和我的个人

webstorm下的sass自动编译和移动端自适应实践

http://www.fawwheel.com/shahramLu/p/6477731.html webstorm下的sass自动编译和移动端自适应实践 1.安装Ruby 2.安装sass 3.webstorm配置file watcher 4.移动端自适应 1.安装Ruby 安装Ruby,有多种方式,打开官网下载 因为,使用的是window选择RubyInstall,下载地址 RubyInstall下载地址 选择对应系统的版本,下载完成,安装 添加到path,建议勾上,安装完成后,打开开始面板,

处理移动端自适应布局的方法- calc()与vw

在处理移动端自适应布局时,目前前端最流行的方法应该就是使用媒体查询,来设置HTML的字体大小,然后用rem为单位对Dom的宽高进行设置,这个方法的优势在于兼容性方面很好,劣势则在于当前市场上不同的机型太多,尺寸种类比较杂,所以要想做到所以尺寸机型都能适应,工作量相对比较大.目前也有人会选择用百分比进行布局,这个布局方法在仅仅处理元素的宽高上面非常好用,但是当js中要对dom元素的尺寸进行设置时,百分比的局限性就出来了,还有就是dom元素的font-size没办法用页面宽度百分比对他进行大小设置,

移动端自适应方案

本文来自大搜车博客:移动端自适应方案,主要讲:1.移动真的需要动态生成viewport吗?2.移动前端如何自适应?作者给出主观的最佳实践:最帅的flex.演示地址.里面讲了一些互联网公司的自适应做法,可以看看. 研究样本 手淘 ml.JS 天猫首页 手机携程 一个月前去了css开发者大会,听到了手淘的自适应方案,想起之前一直就想了解ml.js到底干了什么事.回来仔细研究了一下,抱着好奇心一并看了同样类型的网站的方案,深入学习一下. 研究结论 手淘 获取手机dpr(window.devicePix

移动端自适应解决方案

实现移动端自适应大概的几种方法: 1.固定宽度,使用一个模式加上少许的媒体查询: 2.使用flexbox解决: 3.使用百分比加媒体查询: 4.使用rem. 一.如果是简单app,排版不管分辨率怎么变,关键元素宽高和位置固定,只是元素容器做伸缩变换.这种app是典型的弹性布局.而类似于这种app只有一个开发模式:文字流式.空间弹性.图片等比例缩放.当然如果分辨率较小还得加上媒体查询做一些兼容. 二.根据网易的自适应做法 随着分辨率变大,页面元素的宽高和间距会明显改变,网易用的就是rem布局.网易

移动端自适应布局方案尝试

原文地址:移动端自适应布局方案尝试 问题 刚开始接触移动端H5页面的时候最困扰的几个问题是: 6或6p上明明是1px的边框怎么就成了2px或3px辣么粗! 图片,div等如何等比自适应设计图 后来慢慢知道了第一点是由于retina屏幕下设备像素比的问题造成,第二点知道了单位rem. 目的 不想因为使用rem而一一去计算设计稿的尺寸,设计稿750的尺寸的标注可以直接在sass中使用:字体不使用rem缩放,原因是: 显然,我们在iPhone3G和iPhone4的Retina屏下面,希望看到的文本字号

移动端自适应

此代码加到head标签里面,加入后可随不同机型的移动设备,设置html的fontSize大小,这样子用rem可作为解决移动端自适应的方案 !function(N,M){function L(){var a=I.getBoundingClientRect().width;a/F>750&&(a=750*F);var d=a/10;I.style.fontSize=d+"px",D.rem=N.rem=d}var K,J=N.document,I=J.document