h5浏览器兼容及UI设计图的解决方法

本文介绍了H5在不同浏览器中的兼容性问题及其解决方案,特别是通过meta标签和JavaScript代码来处理DPR适配。内容还涵盖了如何处理与UI设计图数值的换算,以及解决meta标签与第三方聊天工具不匹配的问题。提出了使用font-size作为基础单位,简化设计图转换为CSS尺寸的方法,以提高开发效率。

h5浏览器兼容及UI设计图的解决方法

先上代码,后解释。。

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

meta 标签

<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />

js代码(自觉带上jQuery)
<script type="text/javascript">
	(function () {
		$("html,body").css("font-size", ($('html').width() / 750 * 100) + "px");
	})()
</script>

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

先简单解释一下dpr适配吧
    一个屏幕的DPR是根据屏幕的物理像素除以屏幕的设备独立像素(也叫密度无关像素)得来的(DPR = 物理像素 / 设备独立像素)。iphone6宽度的设备独立像素是375,宽度的物理像素是750,那么就意味着DPR是2。

flexible.js对dpr有一个很好的适配,不同手机型号的屏幕分辨率都有对应的dpr、html的font-size初始值以及meta的适配。小编在做项目的时候也是用的flexible.js,同样也出现了很多的问题。

  1. 与UI设计图的数值换算很麻烦。
    解:现在大部分的UI设计图宽都是750像素,flexible.js中html的font-size初始值可不是按照设计图宽750像素来的,换算其他太麻烦,难道要放个计算机在旁边算吗?完全降低了开发效率。
  2. meta标签与接入第三方聊天工具不匹配。
    解:flexible.js中对meta的初始值也是换算而来,不像我们上面写meta标签那种比例而来,我们做的项目需要接入客服聊天,有一些第三方的聊天工具完全不适配,在手机上,聊天界面特别小,去掉flexible.js,整个项目都要改,不去掉的话,第三方的聊天工具也是要改。

接下来说说上面我说的方法吧。

meta标签 content属性值 :
     width:可视区域的宽度,值可为数字或关键词device-width
     intial-scale:页面首次被显示是可视区域的缩放级别,取值1.0则页面按实际尺寸显示,无任何缩放
     maximum-scale=1.0, minimum-scale=1.0;可视区域的缩放级别,
     maximum-scale用户可将页面放大的程序,1.0将禁止用户放大到实际尺寸之上。
     user-scalable:是否可对页面进行缩放,no 禁止缩放

(function () {(&quot;html,body&quot;).css(&quot;font−size&quot;,((&quot;html,body&quot;).css(&quot;font-size&quot;, (("html,body").css("fontsize",((‘html’).width() / 750 * 100) + “px”);})()

重点在这里↓↓↓↓↓:

    比如说:设计图中一个input宽600px,在css中设置input宽按照设计图是值除以100就可以,这个input的宽就是6rem;高是80px,css设置height:0.8rem即可,是不是很方便呢。。

如果有什么问题,解决不了的,可以联系小编哟~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值