首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

移动适配viewport缩放方案

# 1、前言 设计师交付给前端一张宽度为750px的视觉稿,并对设计稿上元素的尺寸、颜色、位置等做了标注,要求工程师工在适配不同屏幕尺寸的设备时采用等比缩放的方案。...采用viewport缩放的方案能又快又好的实现需求。 # 2、原理 在写HTML、CSS对设计稿进行还原时不关注屏幕尺寸的差异,而是直接按设计稿的标注来开发。...这段代码的意思是:设置布局视口(layout viewport)的宽度为750px(此时页面一般会超出屏幕),再缩放页面(initial-scale)使其恰好撑满屏幕。 # 3、适配代码 <!...缺点:页面整体放大缩小,对于不想缩放的元素无法控制。比如边框在大屏手机下显得很粗,在小屏手机下显得很细。

1.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

移动适配之比例缩放适配

就是比如ip6的设备独立像素(375px),这个设备独立像素介绍移动时候说过可以使用缩放进行改变!...那么这个比例缩放适配存在什么问题呢? 在大屏的设备下,渲染的也是375,无法充分的发挥大屏效果不能得到用户体验,可以在不同设备下进行不同像素渲染!...解决方案:使用js代码获取当前设备的独立设备像素,转换为同一的375; //自制行函数 ( function(){ var curWidth=window.screen.width...但是750px的图像等,在原始独立像素大于414的设备可能出现图像失真等问题,后面会详细介绍一下移动终极适配方案rem适配 本博客所有文章如无特别注明均为原创。...原文地址《移动适配之比例缩放适配》 分享到:更多 标签: 移动适配 比例缩放适配

1.2K30

移动页面按手机屏幕分辨率自动缩放js

,在页面头部加入以上一段js之后,在手机就可以正常显示了, var phoneScale = phoneWidth/750; 除以的为设计图设计的页面宽度,750是按iphone6来设计(根据自己使用需求来修改...(注意,有时候页面加了这段代码在调试的时候,切记刷新,刷新过后就会按手机缩放比例显示) 概念解析: phys.width:一般我们所指的宽度width即为phys.width,物理宽度(物理分辨率) device-width...试想,浏览器如果把电脑的980px的网页展现在宽度为750px的iphone6手机屏上,势必会放不下,手机横向会出现滚动条,怎么阻止这种情况呢,很简单,浏览器默认一个虚拟窗口,不同浏览器有不同的虚拟窗口宽度的默认值如...iphone:980px; opera:850px; Andriod webkit:800px; IE:974px; 然后会把这个980px虚拟窗口装进宽度为750px的iphone6中,当然这样的话必须缩放...,这就是为什么在手机中展现电脑页面没有出现横向滚动条,而且字迹明显变小的原因。

5.4K80

viewport缩放方法,解决移动自适配

一、概述: 做了几年的移动一直用 rem ,感觉最繁琐的就是 rem 的计算。随便可以用 css rem 自动计算,但是有时候感觉宽度跟高度的 rem 并不是完全准确。...所以决定用 viewport 缩放来试试看效果,经过一些网友的帮忙测试,发现缩放 viewport 这种方法更简单、高效、准确 二、思路: 例如效果图是:750*1334(px)的源文件。...1、根据750 PSD源图 宽度尺寸进行比例缩放,高度并没有限制,所以高度是自由的 2、缩放viewport的同时,宽度跟高度是等比的,所以敢说这种方式比rem更准确。...三、js核心代码: 代码说明:切图时只需要按照PSD尺寸大小设置px即可,无需复杂的 rem 计算 js 代码: (function (doc, win) { var maxwidth...总结: 使用缩放 viewport 来做移动适配确实简单,但在缩放时,有人反应页面会出现糊的情况。

1.1K10

移动网页布局】移动网页布局基础概念 ③ ( meta 视口标签简介 | 利用 meta 视口标签 设置 网页宽度 是否允许用户缩放 初始缩放比例 最小缩放比例 最大缩放比例 )

一、meta 视口标签简介 ---- meta 视口标签 就是为了移动而设计的 , 该设置只有在移动生效 ; meta 视口标签 用于设置 浏览器 按照 理想视口 显示页面 ; 使用 meta 视口标签...; maximum-scale 参数 设置 网页缩放的最大比例 , 该值大于 0 即可 ; 如果 不设置 meta 视口标签 , 在移动 默认的 网页宽度 为 980 像素 , 所有的标签元素都是在...minimum-scale=1.0, maximum-scale=1.0"> 三、meta 视口标签代码示例 ---- 1、不设置 meta 视口标签代码示例 如果 不设置 meta 视口标签 , 在移动...: PC 浏览器正常显示 ; 移动浏览器显示效果 : 如果 不设置 meta 视口标签 , 在移动 默认的 网页宽度 为 980 像素 , 所有的标签元素都是在 980 像素宽度的网页中显示...: PC 浏览器正常显示 ; 移动浏览器显示效果 : 设置 meta 视口标签 , 在移动 默认的 网页宽度 为 设备宽度 , 是理想视口 ; body 中的文本 显示正常 ;

3.4K21

移动前端常见的触摸相关事件touch、tap、swipe等整理

前端的很多事件在PC和浏览器可公用,但有些事件却只在移动产生,如触摸相关的事件 本文整理了移动常见的一些事件,包括原生支持的click、touch、tap、swipe事件,也有定义型的gesture...手势事件(目前只是一个概念,使用的时候需封装模拟) 使用到的是移动的Chrome浏览器,本文只对该浏览器进行调试,其他浏览器暂未考虑到 一、事件定义及分类 1. click事件 单击事件,类似于PC的...click,但在移动中,连续click的触发有200ms ~ 300ms的延迟 2. touch类事件 触摸事件,有touchstart touchmove touchend touchcancel...2) 改用zepto.js正常 ? 看第五次的touch ? 看第二次的touch ? 看第四次的touch ?...gesturechange:当有两根或多根手指在屏幕上,并且有手指移动的时候触发 gestureend:当倒数第二根手指提起的时候触发,结束gesture 按照定义,当分别将两根手指放到屏幕上的时候,

2K20

H5实现移动禁止页面缩放(适用Android和IOS)

要实现Android和IOS浏览器禁止页面缩放,通用的设置方式是给HTML页面设置meta标签来实现,具体添加标签内容如下: <meta name="viewport" content="width=...height          // 设置 viewport 的高度,正整数/字符串 device-height initial-scale     // 设置设备宽度与 viewport大小之间的<em>缩放</em>比例...,0.0-10.0之间的正数 maximum-scale     // 设置最大<em>缩放</em>系数,0.0-10.0之间的正数 minimum-scale     // 设置最小<em>缩放</em>系数,0.0-10.0之间的正数...user-scalable     // 如果设置为 no 用户将不能<em>缩放</em>网页,默认为 yes,yes / no 注意:iOS10以后版本不接受meta标签,可以通过<em>js</em>监听手势控制来实现禁止页面<em>缩放</em>

9410

移动与PC页面布局区别、background-size 背景图片的缩放

HTML页面在手机显示的存在问题 HTML页面在电脑的浏览器显示跟在手机的浏览器显示效果是不一样的,下面写个div来示例看看。 首先编写一个div ? 那么下面来切换手机显示看看。...视口 视口是移动设备上用来显示网页的区域,一般会比移动设备可视区域大,宽度可能是980px或者1024px,目的是为了显示下整个为PC设计的网页,这样带来的后果是移动会出现横向滚动条,为了避免这种情况...,移动会将视口缩放移动窗口的大小。... pc移动渲染网页过程: ? 使用视口解决上面的div显示太小的问题 ? ? 设置了视口之后,div显示比较正常了。...这个可能看得不是很清楚,其实cover参数就是等比例缩放至恰好覆盖div大小即可,如果图片等比例缩放的一半就可以覆盖div,那么div只会显示一半的图片。 ?

2.9K20

【如果你要学JS XIV】—— 移动常用事件-移动touch触摸事件

导绪移动浏览器兼容性较好,不需要考虑JS的兼容性问题,可以放心的使用原生JS书写效果,但是移动也有自己独特的地方。如触屏事件touch (也称触摸事件) , Android和IOS都有。...targetTouches[0] 里面的pageX和pageY3.拖动的原理:手指移动计算出手指移动的距离,然后用盒子原来的位置+手指移动的距离4.手指移动的距离 = 手指滑动中的位置 - 手指刚开始触摸的位置...y = this.offsetTop; }) div.addEventListener('touchmove', function (e) { // 手指移动距离...= 手指移动之后的坐标 - 手指初始的坐标 var moveX = e.targetTouches[0].pageX - startX; var moveY...= e.targetTouches[0].pageY - startY; // 移动盒子,盒子原来的位置+手指移动的距离 this.style.left =

51100
领券