微信小程序大屏适配是一个比较复杂的问题,它要求开发者在不同的屏幕尺寸上都能够获得良好的用户体验。为了实现这一目标,开发者需要考虑到不同的屏幕尺寸、分辨率、比例以及其他因素,并采取相应的措施来适配大屏。
首先,开发者应该考虑到不同的屏幕尺寸。在进行大屏适配时,开发者应该根据不同的屏幕尺寸来定义布局,以便在不同的屏幕上都能够正常显示。为此,开发者可以使用CSS3中的Media Query功能来实现这一目标。
@media screen and (min-width: 320px) { // 在320px以上时执行 } @media screen and (min-width: 375px) { // 在375px以上时执行 } @media screen and (min-width: 414px) { // 在414px以上时执行 }
其次,开发者应该考虑到不同的分辨率。在进行大屏适配时,开发者应该根据不同的分辨率来定义图片、文字、字体大小等内容;这样才能保证在不同分辨率下都能够正常显示。为此,开发者可以使用CSS3中的Media Query功能来实现这一目标。
@media screen and (min-resolution: 2dppx) { // 在2dppx以上时执行 } @media screen and (min-resolution: 3dppx) { // 在3dppx以上时执行 }
最后,开发者应该考虑到不同的比例。在进行大屏适配时(如16:9或4:3之间)), 如果使用固定布局会出现显示问题, 此时, 建议使用flexible.js或rem单位来实现适配, 这样就能够保证在不各个比例下都能够正常显示内容了。
目前市面上的用户设备大致可分为小屏的手机端、中屏的平板、大屏的 PC 端三类,而在这三类设备中又会有细小的尺寸差别,也称作屏幕碎片化。
随着小程序能够在越来越多的设备终端上运行,开发者也应该针对不同的屏幕尺寸进行相应的适配。
按照一般的适配原则,结合小程序特点,通常在以下三种情况中需要进行适配:
使用小程序提供的 rpx 单位,在尺寸差别不大的情况下对页面布局进行等比缩放。
手机端设置 "pageOrientation": "auto" 或 iPad 上设置 "resizable": true 时会允许屏幕旋转,此时使用 Page 的 onResize 事件或者 wx.onWindowResize 方法可对该操作进行监听,进而判断是使用横屏还是竖屏布局。
小程序目前是基于 Webview 实现,利用CSS 媒体查询可实时监听屏幕尺寸大小,在不同的屏幕下展现不同的 UI 布局,结合Flex 弹性布局、Grid 网格布局便能实现更加响应式的适配方案。
matchMedia - 抽象式媒体查询
小程序基础库基于 window.matchMedia API 新增了一组过程式与定义式接口 match-media 。开发者可以通过 <match-media></match-media> 和 wx.createMediaQueryObserver 来显式地使用媒体查询能力,对于多端适配来说,它有以下优势:
为了让开发者更好的自适应大屏,小程序提供了 row/col 组件 供开发者使用。
自适应的主要特性是:
设计指引与代码示例
关于如何在设计、用户体验上实现更好的多端适配小程序。
同时我们也提供了多端适配示例小程序 ,基于 row/col 组件 简单实现了常见的适配场景,例如:
体验路径:“扩展能力” -> “多端适配(需在PC端体验)”
这一节描述了事件触发器函数接口的低层细节。只有在用 C 编写事件 触发器函数时才需要用到这里的信息。如果使用更高层的语言,那...
从第43.8节中介绍的数据库访问导致的错误中恢复可能导致一种不可取的情况,其中一些操作在它们中的一个失败前成功完成,并且在从...
Image alt 属性 Image 对象定义和用法alt 属性可设置或者返回图片的 alt 属性值。alt 属性指定图像不能正常显示(网速慢、图片链...
Style paddingRight 属性 Style 对象定义和用法paddingRight 属性设置或返回元素的右内边距。语法设置 paddingRight 属性:Objec...
Style outlineStyle 属性 Style 对象定义和用法outlineStyle 属性设置或返回元素周围的轮廓的样式。语法设置 outlineStyle 属性...