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


Posted in HTML / CSS onApril 15, 2020

方法一:引入淘宝开源的可伸缩布局方案

引入淘宝开源的可伸缩布局方案:https://github.com/amfe/lib-flexible(此处可点击)

淘宝的其实也和viewport的有点像,但是它主要是根据设备设备像素比设置scale的值,保持视口device-width始终等于设备物理像素,屏幕大小动态计算根字体大小,具体是将屏幕划分为10等分。这块也可以直接用js实现,后面会提到

具体引入和使用方法,移步github查看,非常详细。

方法二:viewport 的使用

github里边,有提到  viewport 的使用。我感觉这篇文章关于viewport 的介绍特别详细,包括比例、是否缩放等的属性介绍特别的详细,虽然文章的内容一大片的字看起来很多,但是请耐心看完,都是干货能很好的让你认识viewport。如果比较着急,请继续往下看总结图吧

https://3water.com/article/149140.htm(此处可点击)

关于 viewport 的,这块直接引用上面文章的内容,我感觉也是最干脆最直接的总结了吧

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

方法三:使用js+viewport动态设置手动适配rem

我的编辑器是vscode,添加了插件cssrem自动转换

index.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <!-- <meta name="viewport" content="width=device-width,initial-scale=1.0"> -->
    <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
    <!-- 启用360浏览器的极速模式(webkit) -->
    <meta name="renderer" content="webkit">
    <!-- 避免IE使用兼容模式 -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- 针对手持设备优化,主要是针对一些老的不识别viewport的浏览器,比如黑莓 -->
    <meta name="HandheldFriendly" content="true">
    <!-- 微软的老式浏览器 -->
    <meta name="MobileOptimized" content="320">
    <!-- uc强制竖屏 -->
    <meta name="screen-orientation" content="portrait">
    <!-- QQ强制竖屏 -->
    <meta name="x5-orientation" content="portrait">
    <!-- UC强制全屏 -->
    <meta name="full-screen" content="yes">
    <!-- QQ强制全屏 -->
    <meta name="x5-fullscreen" content="true">
    <!-- UC应用模式 -->
    <meta name="browsermode" content="application">
    <!-- QQ应用模式 -->
    <meta name="x5-page-mode" content="app">
    <!-- windows phone 点击无高光 -->
    <meta name="msapplication-tap-highlight" content="no">
    <meta content="telephone=no" name="format-detection" />
    <meta name="huaban" content="nopin" />
    <link rel="icon" type="image/x-icon" href="/favicon.ico">
    <title>新茶饮</title>
    <script src="/config.js"></script>
   <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
  </head>
  <body>
    <div id="app"></div>
    <!-- 
    在iphone 5 中1rem=16px; 
    html font-size =16px=1rem;
  -->
  <script>
    //得到手机屏幕的宽度
    let htmlWidth = document.documentElement.clientWidth || document.body.clientWidth;
    console.log('htmlWidth',htmlWidth)
    //得到html的Dom元素
    let htmlDom = document.getElementsByTagName('html')[0];
    // if(htmlWidth>640){//超过640大小的,字体根部都是16px
    //   htmlWidth=640;
    //   console.log('htmlWidth-true',htmlWidth)
    // }
    //设置根元素字体大小
    htmlDom.style.fontSize = htmlWidth / 40 + 'px';

  </script>
    
  </body>
</html>

方法四:根据css的媒体查询动态设置根部html字体大小

html {font-size: 625%; /*100 ÷ 16 × 100% = 625%*/}

@media screen and (min-width:360px) and (max-width:374px) and (orientation:portrait) {
    html { font-size: 703%; }
}
@media screen and (min-width:375px) and (max-width:383px) and (orientation:portrait) {
    html { font-size: 732.4%; }
}
@media screen and (min-width:384px) and (max-width:399px) and (orientation:portrait) {
    html { font-size: 750%; }
}
@media screen and (min-width:400px) and (max-width:413px) and (orientation:portrait) {
    html { font-size: 781.25%; }
}
@media screen and (min-width:414px) and (max-width:431px) and (orientation:portrait){
    html { font-size: 808.6%; }
}
@media screen and (min-width:432px) and (max-width:479px) and (orientation:portrait){
    html { font-size: 843.75%; }
}

到此这篇关于详解移动端h5页面根据屏幕适配的四种方案的文章就介绍到这了,更多相关h5移动端根据屏幕适配内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
纯CSS打造(无图像无js)的非常流行的讲话(语音)气泡效果
Dec 28 HTML / CSS
使用css3和jquery实现可伸缩搜索框
Feb 12 HTML / CSS
css3 自定义字体font-face使用介绍
May 14 HTML / CSS
CSS3使用transition实现的鼠标悬停淡入淡出
Jan 09 HTML / CSS
利用CSS3实现开门效果实例源码
Aug 22 HTML / CSS
利用html5 canvas破解简单验证码及getImageData接口应用
Jan 25 HTML / CSS
HTML5 Canvas的事件处理介绍
Apr 24 HTML / CSS
html5 视频播放解决方案
Nov 06 HTML / CSS
Canvas波浪花环的示例代码
Aug 21 HTML / CSS
AmazeUI 等分网格的实现示例
Aug 25 HTML / CSS
HTML5实现移动端点击翻牌功能
Oct 23 HTML / CSS
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
Jan 20 HTML / CSS
html5移动端自适应布局的实现
Apr 15 #HTML / CSS
HTML里显示pdf、word、xls、ppt的方法示例
Apr 14 #HTML / CSS
HTML5 直播疯狂点赞动画实现代码 附源码
Apr 14 #HTML / CSS
HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码
Apr 10 #HTML / CSS
canvas 基础之图像处理的使用
Apr 10 #HTML / CSS
用canvas显示验证码的实现
Apr 10 #HTML / CSS
HTML5给汉字加拼音收起展开组件的实现代码
Apr 08 #HTML / CSS
You might like
松下Panasonic RF-B65电路分析
2021/03/02 无线电
解决ajax+php中文乱码的方法详解
2013/06/09 PHP
Javascript 生成指定范围数值随机数
2009/01/09 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
2014/10/31 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
2015/09/30 Javascript
electron制作仿制qq聊天界面的示例代码
2018/11/26 Javascript
JavaScript中的this原理及6种常见使用场景详解
2020/02/14 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
Python linecache.getline()读取文件中特定一行的脚本
2008/09/06 Python
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
2015/05/20 Python
Python 含参构造函数实例详解
2017/05/25 Python
浅谈python中列表、字符串、字典的常用操作
2017/09/19 Python
python图像常规操作
2017/11/11 Python
Python+PIL实现支付宝AR红包
2018/02/09 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
利用python GDAL库读写geotiff格式的遥感影像方法
2018/11/29 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
Python对象转换为json的方法步骤
2019/04/25 Python
python opencv 二值化 计算白色像素点的实例
2019/07/03 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
美国领先的户外服装与装备用品店:Moosejaw
2016/08/25 全球购物
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
世界上最伟大的马产品:Equiderma
2020/01/07 全球购物
假日旅行社实习自我鉴定
2013/09/24 职场文书
超市后勤自我鉴定
2014/01/17 职场文书
英文留学推荐信范文
2014/01/25 职场文书
公益广告标语
2014/06/19 职场文书
物业管理专业自荐信
2014/07/01 职场文书
法人委托书范本格式
2014/09/15 职场文书
js实现模拟购物商城案例
2021/05/18 Javascript
详解php中流行的rpc框架
2021/05/29 PHP
Nginx配置https的实现
2021/11/27 Servers
Python+腾讯云服务器实现每日自动健康打卡
2021/12/06 Python