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

移动端适配viewport缩放方案

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

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

利用css @viewport 做设备适配

在需要调整设备浏览器viewport时,我们通常在HTML中使用来解决。但是令人意想不到是,viewport meta标签并不具有“规范性”,即它不是W3C正式标准,也非Web标准。...viewport meta标签是用做布局,这种活本应属于CSS职能。这也是为什么W3C正在尝试规范一种新设备适配方法原因,将HTML对viewport控制转交给CSS。...@viewport CSS 规则 使用@viewport规则控制viewport,与使用meta标签效果相同,只是我们完全使用CSS来控制。...奇怪是,在viewport小于400px时候,IE10忽略了viewport meta标签,所以依赖meta标签站点,在这种小窗口下是没有优化效果。...@viewport 与 Media Queries配合使用 我们可以在media query里面使用@viewport,已达到更加精准优化。

61810

移动端页面适配方案(viewport

大家好,又见面了,我是你们朋友全栈君。...通过 给视口设置固定宽度,浏览器对页面自动缩放来实现页面的适配效果 优点是可以使用px布局,不用额外进行rem或者vw等等单位换算了 缺点是如果是无滚动条页面在某些设备上...(例如平板这种宽高3比4,折叠屏8比7)由于宽高比不同有些区域会被挤到视口之外从而导致一些体验上问题,不过demo2也给出了解决方案; 这里给两个demo,demo1是有滚动条页面的示例,demo2...,若是可以就给viewport设置为固定宽度让浏览器自适应,若是不行让viewport为设备原始视口宽度给页面的body等设置固定宽度然后居中即可。...注:下面的js0.6跟css媒体查询中3/5 (3➗5=0.6 )就是宽高比 这个宽高比我是通过chrome移动设备模拟器来得出,即将设备类型调整为responsive,然后手动去调整得到一个最小可展示内容区域宽高比

57610

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...,user-scalable=no 属性设置,可能会限制缩放效果 总结: 使用缩放 viewport 来做移动端适配确实简单,但在缩放时,有人反应页面会出现糊情况。

1.1K10

JS 适配器模式

简介 适配器模式(Adapter)是将一个类(对象)接口(方法或属性)转化成客户希望另外一个接口(方法或属性),适配器模式使得原本由于接口不兼容而不能一起工作那些类(对象)可以一些工作。 2....对象适配器可以适配父对象接口方法或属性。...而适配器则意味着改变一个已有对象接口。 装饰者模式增强了其它对象功能而同时又不改变它接口,因此它对应程序透明性比适配器要好,其结果是装饰者支持递归组合,而纯粹使用适配器则是不可能。...---- 本文是系列文章,可以相互参考印证,共同进步~ JS 抽象工厂模式 JS 工厂模式 JS 建造者模式 JS 原型模式 JS 单例模式 JS 回调模式 JS 外观模式 JS 适配器模式 JS 利用高阶函数实现函数缓存...(备忘模式) JS 状态模式 JS 桥接模式 JS 观察者模式 网上帖子大多深浅不一,甚至有些前后矛盾,在下文章都是学习过程中总结,如果发现错误,欢迎留言指出~ 参考: 《Javascript 设计模式

99520

理想viewport(视口)并不存在

如果我们从收集到数据点中筛选出前20个独特视口尺寸,主要都是较小尺寸。你可能会推测这些都是移动设备——特别是前10个——但也值得考虑是,视口尺寸也会因环境条件而有所不同。...然而,如果你倾向于使用非常特定断点和硬编码字体、尺寸和间距,即使出发点很好,你也可能发现自己并没有提供最佳用户体验。...有趣比较 来自流行框架断点(Breakpoints) Figma中断点 这一切要点是什么? 我们想强调主要观点是,你根本无法知道用户会以何种方式访问你网站或网络应用。...与其基于严格、有限断点来做出设计决策,不如考虑到视口尺寸存在大量碎片化。 我们向客户总是建议,成为浏览器引导者,而非其微管理者。...创建灵活规则,并允许浏览器发挥其最擅长一面:根据所处条件计算出最佳展示效果。 这一点也同样适用于你项目规划。在规划页面内容时,问问自己对于那些不符合典型模式奇怪视口尺寸,情况会是如何?

18230

浅谈移动端中视口(viewport

而移动端则较为复杂,它涉及到三个视口:布局视口(Layout Viewport)、视觉视口(Visual Viewport)和理想视口(Ideal Viewport)。 本文主要讨论移动端中视口。...物理像素(设备像素,device pixels) 指的是设备屏幕物理像素,任何设备物理像素数量都是固定。 CSS 像素(CSS pixels) 是 CSS 和 JS 中使用一个抽象概念。...布局视口(layout viewport) 一般移动设备浏览器都默认设置了一个 viewport 元标签,定义一个虚拟布局视口(layout viewport),用于解决早期页面在手机上显示问题...理想视口(ideal viewport) 布局视口默认宽度并不是一个理想宽度,于是 Apple 和其他浏览器厂商引入了理想视口概念,它对设备而言是最理想布局视口尺寸。...2.视口设置 我们可以使用视口元标签(viewport meta 标签)来进行布局视口设置 "viewport" content="width=device-width,initial-scale

2K20

JS设计模式之适配器模式

意图 将一个类接口转换成客户希望另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作那些类可以一起工作。...——《设计模式:可复用面向对象软件基础》中文版第106页 值得注意是,在JS中,我们对于数据类型适配(把后端传来JSON转成我们希望格式)也应属于适配范畴,所以下文中分别叙述它们应用...适配方法 假设我们有谷歌地图和百度地图API,但是它们俩提供方法名字不同,如下: const googleMap = { show() { console.log('Shows...适配类型 除了传统适配相同方法外,在JS中还经常做适配不同类型操作,如下: function bookAdapter(book) { return { name: book[...虽然它与传统意义上适配器有区别,但我认为两者思想是相同,故这里也展示一下。 参考 设计模式:可复用面向对象软件基础 JavaScript设计模式——适配器模式 JS 适配器模式

28510

移动前端开发之viewport深入理解

在移动设备上进行网页重构或开发,首先得搞明白就是移动设备上viewport了,只有明白了viewport概念以及弄清楚了跟viewport有关meta标签使用,才能更好地让我们网页适配或响应各种不同分辨率移动设备...然而,layout viewport 宽度是大于浏览器可视区域宽度,所以我们还需要一个viewport来代表 浏览器可视区域大小,ppk把这个viewport叫做 visual viewport...但浏览器觉得还不够,因为现在越来越多网站都会为移动设备进行单独设计,所以必须还要有一个能完美适配移动设备viewport。...所谓完美适配指的是,首先不需要用户缩放和横向滚动条就能正常查看网站所有内容;第二,显示文字大小是合适,比如一段14px大小文字,不会因为在一个高密度像素屏幕里显示得太小而无法看清,理想情况是这段...五、把当前viewport宽度设置为 ideal viewport 宽度 要得到ideal viewport就必须把默认layout viewport宽度设为移动设备屏幕宽度。

1K50

解决PhoneGap不支持viewport几种方法

前几天用phonegap编译GameBuilder+CanTK时,发现HTML里viewport无效。...CanTK根据devicePixelRatio检测设备DPI,然后用viewport设置正确分辨率。如果viewport无效,CanTK只能以最低分辨率运行。...在网上查了一下, 也没有找到系统资料,但我知道WebView一定有相应设置来启用viewport,结合找到资料和phonegap源码,终于找到了解决方法,这里总结一下: iOS平台解决方法:在...我想到了phonegap插件,找到了一个ViewPortScale插件,发现根本编译不了,所以自己写了一个com.tangide.viewport插件,如果里使用GameBuilder+CanTK提供云编译...插件源码在这里: https://github.com/drawapp8/ViewPort 总结 以上就是这篇文章全部内容了,希望本文内容对大家学习或者工作具有一定参考学习价值,谢谢大家对ZaLou.Cn

39040

移动端最佳适配解决方案

移动端最佳适配解决方案 移动端rem适配已经淘汰了,目前大家使用都是viewport。lib-flexible作者也在github明确地表示lib-flexible这个解决方案可以放弃使用了。...本文带大家一起来看看评论区所说viewport适配解决方案。 什么是viewport viewport翻译成中文意思大致是视图、视窗。在移动端设备中,整块显示屏就相当于视图、视窗。...但浏览器觉得还不够,因为现在越来越多网站都会为移动设备进行单独设计,所以必须还要有一个能完美适配移动设备ideal viewport。...目的是为了获取到不同移动端设备下像素比。对于rem适配该库是至关重要。本篇文章使用viewport适配则不再需要。...375 : 750; 至此,我们viewport适配就做好了,只需要按照设计稿比例进行开发就可以了。

1.1K30

愈发熟练 CSS 技巧

rem + simple-flexible 适配方案 简单解析 rem 相对于根元素 font-size 大小来计算坐作为一个单位;simple-flexible 是根据手淘团队 lib-flexible.js...,是 1:100, 即 1rem = 100px; 使用步骤 复制 simple-flexible flexible.min.js 或 flexible.js 代码到页面的 <script...,在 IIS上也已经对最新 IPheonX 做出了适配方案,建议使用 rem + lib-flexible 适配方案 简单解析 lib-flexible.js 是手淘团队制作一个 Js 插件,实际上就是能过...大小; 与 Viewpost 相关单位有以下四个 vw : 是 Viewport width 简写 1vw = window.innerWidth 1%; vh : 是 Viewport height...还有很多本人未知方案,但是所有的适配方案都是为了完美的还原视觉设计稿,完美解决兼容性问题,当然这都是理想状态; 前端学习笔记?

80020

PC端、移动端页面适配及兼容处理

第一种是通过响应式或页面终端判断去实现一套资源适配所有终端; 第二种是通过终端判断分别调取两套资源以适配所有终端。 这两种思路我们并不能斩钉截铁说哪一个更优选,正所谓”合适才是最好”。...zepto作为jquery移动端版本,依然延续其自身优势,大幅优化了移动端API且摒弃了兼容”非现代浏览器”冗余代码,成为移动端轻 便可用js框架代表,对于习惯了jquery同学来说简直是不二之选...ua判断可放在服务端也可放在页面中,在代理服务器中做跳转更快、更  准确且不走应用程序层,即使浏览器禁用了js依然可以跳转到相应地址,同时秉承着公共服务放在服务端这样云端服务理念,我们选择了通过代理服务器做终端适配...layout viewport 移动设备默认viewport,css布局是以layout viewport 来做为参考系计算 document.documenElement.clientWidth...(二)如何实现屏幕适配 需要用到 meta viewport 中有6个通用属性: width 设置layout viewport宽度 正整数或字符串 ‘width-device’ initial-scale

2.5K20

一次讲清移动端适配解决方案—rem和vw

目前移动端适配方案一般就是两种,一个是rem方案,一个就是vw方案,本篇就是一次性讲清楚如何去运用这两种方案来解决问题。...一般是使用手淘lib-flexible.js,但是这个作为一种过渡方案已经被废弃了,目前已不推荐在你新项目中使用这个方案来解决手机适配问题。...感兴趣可以看看我老早以前写这篇-->手机适配问题之rem和lib-flexible,我们主要还是来谈谈如何用vw来解决这个手机适配问题。...,有很多插件被大家开发出来为它赋能,实现vw适配就是要利用这么一个插件:postcss-px-to-viewport,先安装它: $ npm install postcss-px-to-viewport...:postcss-px-to-viewport 4、小结 其实使用vw来实现移动端适配还是比较简单,主要就是使用postcss-px-to-viewport这个插件。

1.1K11

在 Nuxt.js 中配合 windicss 实现暗黑模式适配

在 windicss 中,提供了媒体查询和 class 两种方式实现暗黑模式适配。...而且比较省心是——其提供 dark 变体会自动根据选择适配模式,生成对应代码,可以有效避免写出一堆没用css,看起来也比较清晰。...为了方便控制,我们选择使用 class 方式来切换暗黑模式(即给根元素赋予类名 dark 来切换到暗黑模式) 基础样式 首先,需要一些全局 css 来解决 windicss 无法覆盖样式。...,当传入布尔值时,会同时设置 html 类名和 theme-color meta 标签(ssr/csr均可用) 使用了来自 VueUse useHead 方法 const currentMode...usePreferredDark 来获取当前浏览器颜色模式。

1.4K20
领券