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);
   }

原文地址:https://www.cnblogs.com/yehui-mmd/p/9042264.html

时间: 2024-07-29 09:47:08

Rem实现移动端适配的相关文章

还在用rem做移动端适配?最新移动端适配方案vw,vh了解一下!

vw,vh都是相对于屏幕视口的单位. vw:相对于视口的宽度.视口被均分为100单位的vw: vh:相对于视口的高度.视口被均分为100单位的vh: vmax:相对于视口的宽度或高度中较大的那个.其中最大的那个被均分为100单位的vmax: vmin:相对于视口的宽度或高度中较小的那个.其中最小的那个被均分为100单位的vmin: 解释完相关观念,下面就来说说具体的适配方案: 一般UI给的设计稿都是采用750X1334的,因此可以使用sass来编写一个函数: 1 $containerWidth:

移动端适配之rem 笔记

/*移动端适配 width|height|font-size = 视觉稿量出来的值 / 100rem;@lbl*/ @media screen and (max-width:359px) and (min-width:320px) { html,body{ font-size: 50px !important; } } @media screen and (max-width:374px) and (min-width:360px) { html,body{ font-size: 56.25px

移动端适配之REM

随着手机等移动设备的普及,移动端带来的流量已经不可忽视,一个网站不只是只有pc的页面就足够了,移动端的适配已经势在必行.但是移动设备种类繁多,屏幕尺寸也千奇百怪,能不能找到一种方式可以适配所有的手机屏幕呢? 答案就是rem. 俗话说 “授人以鱼不如授人以渔”,但今天我就反其道而行,就是授人以鱼的.因为要跟你说什么设备像素比.css像素.ppi等东西,估计你会晕的(主要是我也搞不懂).废话不多说,先上代码. 1 /*移动端适配 width|height|font-size = 视觉稿量出来的值 /

移动端适配rem

第一种:根元素为100px,再按照750设计稿转化成vw单位,这样只要按照设计稿的单位/2即可.如果是小程序,不需要除以2. html{ font-size: 26.66vw; //移动端适配 这里使用rem+vw方案 省去媒体查询 } 第二种:媒体查询 按照750设计稿,根元素是100px,兼容性比较好. html { font-size: 625%; /*100 ÷ 16 × 100% = 625%*/ } @media screen and (min-width:360px) and (m

基于rem的移动端响应式适配方案(详解) 移动端H5页面的设计稿尺寸大小规范

基于rem的移动端响应式适配方案(详解) : https://www.jb51.net/article/118067.htm 移动端H5页面的设计稿尺寸大小规范 http://www.tuyiyi.com/v/53039.html 原文地址:https://www.cnblogs.com/bydzhangxiaowei/p/9536126.html

rem移动端适配方案

一. rem vs em 单位 定义 特点 rem font size of the root element 以根元素字体大小为基准 em font size of the element 以父元素字体大小为基准 二.js计算 为了避免造成因为动态设置<html>元素的font-size而造成页面抖动,一般这部分代码我们放在header底部去加载,并内联到html文档里面. <script> const oHtml = document.getElementsByTagName(

rem 移动端适配

rem移动端适配: 在移动端(手机端.Pad端),设备尺寸参差不齐.如果想要写完一套代码,能够在所有移动设备上都正常运行,那么采用原生的px单位来设置是不行的.举个例子:iPhone6的尺寸是375px,如果我们想要一个盒子是占据整个宽度的一半,那么会将这个盒子的宽度设置为187.5px,但是并不是所有手机的宽度都是375px,因此就会造成问题.这时候我们可以通过rem来解决这个问题. 什么是rem: em:当前元素字体大小相对于父标签的字体大小.比如: <div style="font-

九、响应式发:rem和less(适配移动端)

一.响应式开发 响应式开发优先适配移动端又兼容到pc端 官网:https://less.bootcss.com/usage/ 教程:https://www.w3cschool.cn/less/ rem和em:https://blog.csdn.net/u010132177/article/details/103725945 参考:https://www.jianshu.com/p/58a061c6e9af 1.1安装less依赖 cnpm install less less-loader --s

移动端适配方案研究

初次接触移动端的时候,以为终于可以不用像pc那样考虑令人头疼的ie浏览器兼容问题,有强大的css3的帮助,可以随心所欲..可是后来才发现原来移动端各种层次不齐的终端更会让人抓耳挠腮,同样的页面在不同的手机上显示的完全不一样的效果,于是抛开功能,页面适配性也成了一个大的课题. 说到移动端,下面这一行代码大家一定不陌生: <meta name="viewport" content="width=device-width, initial-scale=1, maximum-s