html5移动端自适应布局的实现


Posted in HTML / CSS onApril 15, 2020

场景:为适应各种大小的屏幕

自适应布局我知道的两种方式

1.使用媒体查询,下面制定了几种适应方式,例如第一个表示屏幕宽度在320px-360px之间的,html字体大小适配为13.65px

<style>
   @media only screen and (max-width: 360px) and (min-width: 320px){
    html{
     font-size:13.65px;
    }
   }
   @media only screen and (max-width: 375px) and (min-width: 360px){
    html{
     font-size:23.4375px;
    }
   }
   @media only screen and (max-width: 390px) and (min-width: 375px){
    html{
     font-size:23.4375px;
    }
   }
   @media only screen and (max-width: 414px) and (min-width: 390px){
    html{
     font-size:17.64px;
    }
   }
   @media only screen and (max-width: 640px) and (min-width: 414px){
    html{
     font-size:17.664px;
    }
   }
   @media screen and (min-width: 640px){
    html{
     font-size:27.31px;
    }
   }
  </style>

2.响应式,获取到屏幕的宽度,计算出一定的比例大小,使用rem代替px,在使用的时候如 font-size:1rem,在不同屏幕大小的手机上展示的大小效果是不一样的,和手机屏幕的大小比例自适应

<script>
   (function(doc, win) {
    var docEl = doc.documentElement, //根元素html
     //判断窗口有没有orientationchange这个方法,有就赋值给一个变量,没有就返回resize方法。
     resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
     recalc = function() {
      var clientWidth = docEl.clientWidth;
      if(!clientWidth) return;
      //把document的fontSize大小设置成跟窗口成一定比例的大小,从而实现响应式效果。
      if(clientWidth >= 640) {
       clientWidth = 640;
      }
      docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';
      console.log(clientWidth);
      console.log(docEl.style.fontSize);
     };
     recalc();
    if(!doc.addEventListener) return;
    win.addEventListener(resizeEvt, recalc, false); //addEventListener事件方法接受三个参数:第一个是事件名称比如点击事件onclick,第二个是要执行的函数,第三个是布尔值
    doc.addEventListener('DOMContentLoaded', recalc, false) //绑定浏览器缩放与加载时间
   })(document, window);
  </script>
<div id="div2" class="text" style="border: 0.04rem solid #ccc;
            height: 14rem;font-size: 0.5rem;">

到此这篇关于html5移动端自适应布局的实现的文章就介绍到这了,更多相关html5移动端自适应 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
CSS3 选择器 基本选择器介绍
Jan 21 HTML / CSS
HTML5的文档结构和新增标签完全解析
Apr 21 HTML / CSS
canvas绘制表情包的示例代码
Jul 09 HTML / CSS
谈一谈HTML5本地存储技术
Mar 02 HTML / CSS
HTML5 canvas实现移动端上传头像拖拽裁剪效果
Mar 14 HTML / CSS
html5简介_动力节点Java学院整理
Jul 07 HTML / CSS
HTML5 表单验证失败的提示语问题
Jul 13 HTML / CSS
详解如何解决canvas图片getImageData,toDataURL跨域问题
Sep 17 HTML / CSS
5分钟实现Canvas鼠标跟随动画背景
Nov 18 HTML / CSS
Html5 webview元素定位工具的实现
Aug 07 HTML / CSS
使用css样式设计一个简单的html登陆界面的实现
Mar 30 HTML / CSS
纯CSS实现一个简单步骤条的示例代码
Jul 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
iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配
Apr 08 #HTML / CSS
You might like
用PHP实现Ftp用户的在线管理
2012/02/16 PHP
PHP输入流php://input介绍
2012/09/18 PHP
php计算整个目录大小的方法
2015/06/01 PHP
php中让人头疼的浮点数运算分析
2016/10/10 PHP
动态加载JS文件的三种方法
2013/11/08 Javascript
再谈Jquery Ajax方法传递到action(补充)
2014/05/12 Javascript
jQuery中:reset选择器用法实例
2015/01/04 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
2017/05/26 jQuery
jquery与js实现全选功能的区别
2017/06/11 jQuery
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
Vue登录主页动态背景短视频制作
2019/09/21 Javascript
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
[47:39]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs OPTIC
2018/03/31 DOTA
Python对象的深拷贝和浅拷贝详解
2014/08/25 Python
Django2.1.3 中间件使用详解
2018/11/26 Python
python使用pymongo操作mongo的完整步骤
2019/04/13 Python
python 利用turtle库绘制笑脸和哭脸的例子
2019/11/23 Python
详解如何使用rem或viewport进行移动端适配
2020/08/14 HTML / CSS
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
Ryderwear美国官网:澳大利亚高端健身训练装备品牌
2018/04/24 全球购物
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
意大利中国电子产品购物网站:Geekmall.com
2019/09/30 全球购物
J2EE相关知识面试题
2013/08/26 面试题
总裁秘书岗位职责
2013/12/04 职场文书
市场部规章制度
2014/01/24 职场文书
计算机维护专业推荐信
2014/02/27 职场文书
初中毕业生的自我评价
2014/03/03 职场文书
学术诚信承诺书
2014/05/26 职场文书
2014年基建工作总结
2014/12/12 职场文书
小石潭记导游词
2015/02/03 职场文书
大学学习委员竞选稿
2015/11/20 职场文书
Golang 编译成DLL文件的操作
2021/05/06 Golang
Nginx配置https的实现
2021/11/27 Servers
MySQL性能指标TPS+QPS+IOPS压测
2022/08/05 MySQL