`
mayijun000
  • 浏览: 66887 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

移动端H5根据rem适配

阅读更多

//字体大小、页面宽高、图片大小都根据rem的计算进行适配

//方便计算一般设置模版的html的字体大小为10px;

//根据不同的手机的设计模版传递不同的参数

//下面是iphone6模板的例子

 

 

//iphone6模板的样式适配
/*
    # 按照宽高比例设定html字体, width=device-width initial-scale=1版
    # @pargam win 窗口window对象
    # @pargam option{
      designWidth: 设计稿宽度,必须
      designHeight: 设计稿高度,不传的话则比例按照宽度来计算,可选
      designFontSize: 设计稿宽高下用于计算的字体大小,默认20,可选
      callback: 字体计算之后的回调函数,可选
    }
    # return Boolean;
    # mayijun
    # ps:请尽量第一时间运行此js计算字体
*/
!function(win, option) {
  var count = 0, 
      designWidth = option.designWidth, 
      designHeight = option.designHeight || 0, 
      designFontSize = option.designFontSize || 20, 
      callback = option.callback || null,
      root = document.documentElement,
      body = document.body,
      rootWidth, newSize, t, self;
      root.style.width = "100%";
      //返回root元素字体计算结果
  function _getNewFontSize() {
      var scale = designHeight !== 0 ? Math.min(win.innerWidth / designWidth, win.innerHeight / designHeight) : win.innerWidth / designWidth;
      return parseInt( scale * 10000 * designFontSize ) / 10000;
  }
  !function () {
     rootWidth = root.getBoundingClientRect().width;
     self = self ? self : arguments.callee;
     //如果此时屏幕宽度不准确,就尝试再次获取分辨率,只尝试20次,否则使用win.innerWidth计算
     if( rootWidth !== win.innerWidth &&  count < 20 ) {
        win.setTimeout(function () {
        count++;
        self();
      }, 0);
    } else {
      newSize = _getNewFontSize();
      //如果css已经兼容当前分辨率就不管了
      if( newSize + 'px' !== getComputedStyle(root)['font-size'] ) {
         root.style.fontSize = newSize + "px";
         return callback && callback(newSize);
      };
    };
  }();
}(window, {
  designWidth: 375, 
  designHeight: 627,
  designFontSize: 10,
  callback: function (argument) {
    console.timeEnd("test")
  }
});

 

分享到:
评论

相关推荐

    rem.js 移动端 H5 解决各种机型适配问题的js

    rem是 css3一种新的长度单位。它是相对于html标签的字体大小的单位(注意这里泛指是相对于html中的根元素标签也就是html)。 一般用于在移动端H5页面中解决各种机型适配问题的js,文件中详细说明。

    vue移动端h5页面根据屏幕适配的四种方案.docx

    Vue 移动端 H5 页面屏幕适配四种方案 在移动端 H5 页面开发中,屏幕适配是一个非常重要的方面。不同的屏幕尺寸和设备像素比都需要不同的适配方式。下面我们将介绍四种常见的屏幕适配方案。 方案一:淘宝开源的可...

    移动端手机和平板适配解决方案

    在H5移动端开发中,适配方案通常涉及以下几个关键技术点: 1. **响应式设计(Responsive Design)**:响应式设计是确保页面在不同屏幕尺寸上自适应的关键。通过使用CSS3的媒体查询(Media Queries)可以定义不同...

    h5移动端的完美适配

    本文将深入探讨如何实现H5移动端的完美适配,主要关注其中的一种解决方案:百分比布局,并结合JavaScript与rem单位进行混合移动开发。 首先,百分比布局是H5移动端适配的基础,它允许元素的尺寸根据父元素的尺寸...

    remjs移动端页面满屏H5自适应方案

    本文将深入探讨一个基于rem的移动端页面满屏H5自适应方案,该方案适用于设计稿为750 * 1334或640 * 1334的情况。我们将讨论rem布局的优势、实现原理以及如何应用到实际项目中。 首先,rem(root em)是CSS3引入的一...

    详解移动端h5页面根据屏幕适配的四种方案

    在移动端H5页面开发中,适配屏幕是一个重要的任务,以确保内容在不同尺寸和分辨率的设备上都能正常显示。以下将详细介绍四种常见的适配方案: ### 方法一:引入淘宝开源的可伸缩布局方案(lib-flexible) 淘宝的可...

    rem适配方法,针对少数型号手机做了适配

    H5端rem适配方法,尤其针对某些手机,使用rem 之后仍然无法正常显示,针对某些手机做了适配判断,确保少数型号手机满足适配

    详解H5 活动页之移动端 REM 布局适配方法

    本文将深入探讨移动端REM布局的适配方法,这是H5活动页实现响应式设计的关键技术。 首先,我们需要理解什么是REM(Root EM)。REM是一个相对于根元素(通常是html元素)font-size的长度单位。这意味着,如果我们...

    详解搭建一个vue-cli的移动端H5开发模板

    【搭建Vue CLI移动端H5开发模板】 Vue-Mobile是基于Vue CLI构建的一个专为移动端H5开发设计的模板,它提供了一个完整的开发框架,能够帮助开发者迅速启动项目。这个模板采用了以下技术栈: 1. **Vue.js**:轻量级...

    h5rem自适应框架

    在移动端H5页面的rem适配中,通常会采用以下策略: 1. **基础设置**:首先,我们需要在CSS中设置html元素的初始字体大小,这将成为所有rem值的基准。例如,可以设置`html { font-size: 10px; }`,然后根据屏幕宽度...

    html-vw-layout:移动端h5 vw 适配,基于webpack 打包多页面html demo,开箱即用

    vw 和 我们常用rem适配方案有什么优缺点?我相信大家对vw 和 rem 单位不会陌生。vw、vh、vmin、vmax 这四个单位都是相对于视口的宽度。视口被均分为100单位的vw :vw、vhvw是相对视口(viewport)的宽度而定的,长度...

    h5 兼容移动端方案

    本文将深入探讨如何通过合理的技术策略实现H5在移动端的完美适配。 首先,我们需要理解`rem`单位在移动适配中的作用。`rem`(root em)是相对于根元素(通常是`html`元素)字体大小的单位。通过调整根元素的`font-...

    vantUI css文件H5自适应REM处理项目

    【 vantUI CSS 文件 H5 自适应 REM 处理项目详解】 该项目主要关注的是在 H5 页面开发中,如何利用 vantUI 的 CSS 文件并结合 REM 单位实现自适应布局。REM(Relative Em Unit)是一种相对单位,以根元素(通常是 ...

    H5移动端适配 Flexible方案

    《H5移动端适配Flexible方案详解》 在移动互联网时代,H5页面的适配问题显得尤为重要,尤其在各种屏幕尺寸、分辨率各异的设备中,如何确保页面在不同设备上呈现一致的效果,这就是Flexible方案的核心所在。本文将...

    一种便捷的移动端屏幕适配解决方案

    在移动端应用开发中,屏幕适配是一个至关重要的环节,它涉及到如何确保应用在不同尺寸、分辨率的设备上都能提供良好的用户体验。"一种便捷的移动端屏幕适配解决方案"着重解决这个问题,尤其是在JavaScript开发环境下...

    H5面试题.pdf

    媒体查询是CSS中的一个模块,允许开发者根据不同的屏幕特性(如屏幕宽度)来设置不同的CSS样式,实现对不同设备的适配。 总之,在前端开发中,要掌握HTML5、CSS3、JavaScript这些核心技术,并且不断学习和适应新的...

    关于手机端屏幕适配问题的注意事项及阿里高清方案运用实例--H5页面屏幕适配方案1

    总的来说,阿里高清屏幕适配方案结合了流式布局、响应式设计和rem单位的优点,为移动端屏幕适配提供了一种有效的方法。在实际开发中,开发者可以根据项目需求和目标用户的设备特性,选择最合适的适配策略。

    vue-vant-axios.zip

    基于vue+vantui+vue-router+axios+vuex的移动端h5电商项目, 含有基本的页面, 简单可靠代码易懂, 初学者用来练习最为合适。其中, 引入移动端适配方案 rem, 使用 css 处理器 scss, 封装 axios。

Global site tag (gtag.js) - Google Analytics