之前写了一篇根据rem适配的文章,也是H5适配的一种方式。这次介绍一下通过对页面的缩放进行适配。
每次写博客都很快速草草结束,还请见谅。自从java转到h5后就没怎么写,从现在开始把之前学习的都补上,也是对自己学习到的知识进行一个备份和积累。把这个分享出去和大家一起学习和讨论。
首先不得不说的就是meta标签,一般都会进行设置
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
其中width - viewport的宽度
height - viewport的高度
initial-scale - 初始的缩放比例
minimum-scale - 允许用户缩放到的最小比例
maximum-scale - 允许用户缩放到的最大比例
user-scalable - 用户是否可以手动缩放
都说这种简单粗暴,我就更粗暴点直接上代码
var UA = navigator.userAgent, isAndroid = /android|adr/gi.test(UA), isIos = /iphone|ipod|ipad/gi.test(UA) && !isAndroid, // 据说某些国产机的UA会同时包含 android iphone 字符 isMobile = isAndroid || isIos; // 粗略的判断
var metaEl = doc.querySelector('meta[name="viewport"]'), metaCtt = (metaEl ? metaEl.content : '').replace(/\s*/g, ''); var kvs = metaCtt.split(','), data = {}; for (var i = 0; i < kvs.length; i++) { var kv = kvs[i].split('='); if (/width/.test(kv[0])) { data.width = kv[1]; } data[kv[0]] = kv[1]; } data.width = data.width || 640; if (isMobile) { // 定宽 if (isAndroid) { var medium_dpi = data.width / win.screen.availWidth * window.devicePixelRatio * 160; medium_dpi = medium_dpi.toFixed(2); data['target-densitydpi'] = medium_dpi; } else { var scale = win.screen.availWidth / data.width; scale = scale.toFixed(2); data['initial-scale'] = data['maximum-scale'] = data['minimum-scale'] = scale; } metaEl.content = JSON.stringify(data).replace(/\s*/g, '').replace(/[{}"]/g, '').replace(/:/g, '='); }
在页面上直接设置width为最大宽度,我这里设置了750
<meta name="viewport" content="width=750, user-scalable=no">
相关推荐
Vue 移动端 H5 页面屏幕适配四种方案 在移动端 H5 页面开发中,屏幕适配是一个非常重要的方面。不同的屏幕尺寸和设备像素比都需要不同的适配方式。下面我们将介绍四种常见的屏幕适配方案。 方案一:淘宝开源的可...
### PC、移动端自适应等比缩放布局方案 随着互联网技术的发展与用户需求的变化,前端开发中的布局方式也在不断地演变。从最开始的静态布局到流式布局、自适应布局、响应式布局以及弹性布局,每种布局都有其独特的...
在移动端H5页面开发中,适配屏幕是一个重要的任务,以确保内容在不同尺寸和分辨率的设备上都能正常显示。以下将详细介绍四种常见的适配方案: ### 方法一:引入淘宝开源的可伸缩布局方案(lib-flexible) 淘宝的可...
本文将深入探讨如何实现H5移动端的完美适配,主要关注其中的一种解决方案:百分比布局,并结合JavaScript与rem单位进行混合移动开发。 首先,百分比布局是H5移动端适配的基础,它允许元素的尺寸根据父元素的尺寸...
在H5移动端开发中,适配方案通常涉及以下几个关键技术点: 1. **响应式设计(Responsive Design)**:响应式设计是确保页面在不同屏幕尺寸上自适应的关键。通过使用CSS3的媒体查询(Media Queries)可以定义不同...
在移动端H5应用中,商品列表的交互设计是吸引用户注意力和提升用户体验的关键部分。"移动端h5 商品列表 点击加入购物车动画"这个主题着重于如何在用户点击商品时,通过动态效果使商品飞入页面的购物车区域,以此增加...
本文将深入探讨一个基于rem的移动端页面满屏H5自适应方案,该方案适用于设计稿为750 * 1334或640 * 1334的情况。我们将讨论rem布局的优势、实现原理以及如何应用到实际项目中。 首先,rem(root em)是CSS3引入的一...
本文将深入探讨如何通过合理的技术策略实现H5在移动端的完美适配。 首先,我们需要理解`rem`单位在移动适配中的作用。`rem`(root em)是相对于根元素(通常是`html`元素)字体大小的单位。通过调整根元素的`font-...
在移动互联网时代,H5页面的移动端适配成为前端开发中的关键任务,因为各种移动设备的物理分辨率各异。为了确保H5页面在不同设备上展示一致,我们需要理解一些基本概念和技术。 首先,屏幕尺寸是指屏幕对角线的长度...
本文将深入探讨移动端REM布局的适配方法,这是H5活动页实现响应式设计的关键技术。 首先,我们需要理解什么是REM(Root EM)。REM是一个相对于根元素(通常是html元素)font-size的长度单位。这意味着,如果我们...
在移动端网页设计中,网页适配是一个至关重要的概念,它涉及到如何确保网页内容在不同尺寸的设备上,如手机、平板电脑甚至智能手表等,都能呈现出清晰、易读且用户体验良好的效果。随着移动互联网的快速发展,设计师...
《H5移动端适配Flexible方案详解》 在移动互联网时代,H5页面的适配问题显得尤为重要,尤其在各种屏幕尺寸、分辨率各异的设备中,如何确保页面在不同设备上呈现一致的效果,这就是Flexible方案的核心所在。本文将...
媒体查询是CSS中的一个模块,允许开发者根据不同的屏幕特性(如屏幕宽度)来设置不同的CSS样式,实现对不同设备的适配。 总之,在前端开发中,要掌握HTML5、CSS3、JavaScript这些核心技术,并且不断学习和适应新的...
HTML5在移动端的应用已经变得越来越广泛,特别是在手机网站和H5应用开发中,它提供了许多增强用户体验的功能。其中,拖放(Drag and Drop)功能是HTML5的一项重要特性,允许用户通过手势操作来移动元素,如图片和...
在移动端应用开发中,屏幕适配是一个至关重要的环节,它涉及到如何确保应用在不同尺寸、分辨率的设备上都能提供良好的用户体验。"一种便捷的移动端屏幕适配解决方案"着重解决这个问题,尤其是在JavaScript开发环境下...
在移动互联网时代,图片编辑已经成为许多应用程序不可或缺的功能,尤其在移动端H5页面和微信小程序中。基于canvas的图片编辑插件为开发者提供了一种轻量级、高效且灵活的解决方案。Canvas是HTML5的一个重要特性,它...
CSS像素通常基于DIPs,但会根据设备的dpr进行调整。例如,一个2x的设备,1CSS像素等于2物理像素。 设备像素比(dpr)是设备独立像素和物理像素之间的比例,用于描述屏幕的像素密度。JavaScript可以通过`window....
**标题解析:** "H5 PhotoSwipe简单例子 - vue图片拉伸放大缩放例子" 这个标题表明我们要探讨的是一个使用H5技术,并结合...这个例子对于学习Vue与外部库的集成,以及提升移动端H5页面的用户体验具有很高的参考价值。
在开发Web应用时,尤其是针对移动端的H5页面,适配手机是一个至关重要的环节。"h5 适配手机 -城市选择器" 提供了一种兼容性极佳的城市选择组件,能够很好地适应各种手机浏览器。这个组件是通过HTML5、CSS和...
此外,触摸事件的处理和手势识别也是移动端特有的考虑因素,如滑动、点击、捏合缩放等,这些都需要在代码中进行适配。 在实际应用中,这些源码可作为基础模板,开发者可以根据需求进行定制,添加特定功能,如表单...