uni-app概要 |
通过 HBuilderX 可视化界面 |
通过 HBuilderX发布为小程序 |
通过vue-cli命令行运行uni app项目 |
框架简介 |
使用Vue.js注意事项 |
uni-app 常见问题 |
当前阅读教程:Uni-app入门教程 > uni-app 页面样式与布局 | |
阅读(22555525) 收藏 赞(5685) 分享 | |
上一篇: uni-app 运行环境判断 | 下一篇: uni-app 样式导入、内联样式、选择器 |
尺寸单位uni-app 支持的通用 css 单位包括 px、rpx l px 即屏幕像素 l rpx 即响应式px,一种根据屏幕宽度自适应的动态单位。以750宽的屏幕为基准,750rpx恰好为屏幕宽度。屏幕变宽,rpx 实际显示效果会等比放大。 vue页面支持普通H5单位,但在nvue里不支持: l rem 默认根字体大小为 屏幕宽度/20(微信小程序、字节跳动小程序、App、H5) l vh viewpoint height,视窗高度,1vh等于视窗高度的1% l vw viewpoint width,视窗宽度,1vw等于视窗宽度的1% nvue还不支持百分比单位。 App端,在 pages.json 里的 titleNView 或页面里写的 plus api 中涉及的单位,只支持 px。注意此时不支持 rpx nvue中,uni-app 模式(nvue 不同编译模式介绍)可以使用 px 、rpx,表现与 vue 中一致。weex 模式目前遵循weex的单位,它的单位比较特殊: l px:,以750宽的屏幕为基准动态计算的长度单位,与 vue 页面中的 rpx 理念相同。(一定要注意 weex 模式的 px,和 vue 里的 px 逻辑不一样。) l wx:与设备屏幕宽度无关的长度单位,与 vue 页面中的 px 理念相同 下面对 rpx 详细说明设计师在提供设计图时,一般只提供一个分辨率的图。 严格按设计图标注的 px 做开发,在不同宽度的手机上界面很容易变形。 而且主要是宽度变形。高度一般因为有滚动条,不容易出问题。由此,引发了较强的动态宽度单位需求。 微信小程序设计了 rpx 解决这个问题,uni-app 在 App 端、H5 端都支持了 rpx。 rpx 是相对于基准宽度的单位,可以根据屏幕宽度进行自适应。uni-app 规定屏幕基准宽度 750rpx。 开发者可以通过设计稿基准宽度计算页面元素 rpx 值,设计稿 1px 与框架样式 1rpx 转换公式如下: 设计稿 1px / 设计稿基准宽度 = 框架样式 1rpx / 750rpx 换言之,页面元素宽度在 uni-app 中的宽度计算公式: 750 * 元素在设计稿中的宽度 / 设计稿基准宽度
举例说明1. 若设计稿宽度为 750px,元素 A 在设计稿上的宽度为 100px,那么元素 A 在 uni-app 里面的宽度应该设为:750 * 100 / 750,结果为:100rpx。 2. 若设计稿宽度为 640px,元素 A 在设计稿上的宽度为 100px,那么元素 A 在 uni-app 里面的宽度应该设为:750 * 100 / 640,结果为:117rpx。 3. 若设计稿宽度为 375px,元素 B 在设计稿上的宽度为 200px,那么元素 B 在 uni-app 里面的宽度应该设为:750 * 200 / 375,结果为:400rpx。 提示l 注意 rpx 是和宽度相关的单位,屏幕越宽,该值实际像素越大。如不想根据屏幕宽度缩放,则应该使用 px 单位。 l 如果开发者在字体或高度中也使用了 rpx ,那么需注意这样的写法意味着随着屏幕变宽,字体会变大、高度会变大。如果你需要固定高度,则应该使用 px 。 l rpx不支持动态横竖屏切换计算,使用rpx建议锁定屏幕方向 l 设计师可以用 iPhone6 作为视觉稿的标准。 l 如果设计稿不是750px,HBuilderX提供了自动换算的工具 l App端,在 pages.json 里的 titleNView 或页面里写的 plus api 中涉及的单位,只支持 px,不支持 rpx。 l 早期 uni-app 提供了 upx ,目前已经推荐统一改为 rpx 了 |
|
上一篇: uni-app 运行环境判断 | 下一篇: uni-app 样式导入、内联样式、选择器 |