微信小程序布局中的单位及使用:px、rem、rpx、vw、vh、n%
没接触过 JavaScript、CSS、HTML的小白直接开始接触微信小程序的开发,在了解了各个部分的作用以后,布局的时候就发现:怎么这么多单位???
px、rem、rpx、vw、vh、n%
为了不总是用得一脸懵逼,还是花点时间去好好归纳一下。
px:就是 Pixel 的缩写,就是指像素,图片采样的基本单位。
rem:把页面按比例分割达到自适应的效果。规定屏幕宽度为 20 rem,根据屏幕大小动态的设置 fontsize,来达到不同的分辨率下有一样的效果。
rpx:这个单位是微信小程序中特有的尺寸单位,也是把页面按比例分割达到自适应的效果。规定屏幕宽为750rpx,就是把屏幕宽度分成750部分,根据屏幕宽度进行自适应。可与 rem 换算:1 rem = (750/20) rpx =37.5 rpx
如在 iPhone6 上,屏幕宽度逻辑像素为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。所以开发微信小程序时用 iPhone6 作为视觉稿的标准,单位换算相对简单 。
vw:视窗宽度,1vw等于视窗宽度的1%。
vh:视窗高度,1vh等于视窗高度的1%。
n%:父级容器的宽度百分百。
一般情况下,百分比+ rpx 就已经足够使用了 ,其他几个单位甚至可以几乎不用。
实际使用中的问题
在页面的wxss文件中设置父级容器 container 和容器里的组件 detail 时,如果我这样设置:
.container{background-color: blue; //container 背景色是蓝色height: 80%; //我想让高度占屏幕的80%display: flex;flex-direction: column;align-items: center;justify-content: space-around;
}
.detail{background-color: yellow; //detail 背景色是黄色width: 100%;display: flex;flex-direction: column;
}
就会出现容器 container 占的比例不对,80%未生效的情况。
原因是 height: 80% 属性是子节点相对于父容器来说,此属性生效的必要条件是父容器必须具有具体的高度信息 。
而我这里容器 container 外面已经没有父容器了。解决办法有两个:
1、使用 vh 单位:
.container{background-color: blue; //container 背景色是蓝色height: 80vh; //让高度为 80vhdisplay: flex;flex-direction: column;align-items: center;justify-content: space-around;
}
.detail{background-color: yellow; //detail 背景色是黄色width: 100%;display: flex;flex-direction: column;
}
2、在前面加上有高度信息的page{}
page{height: 100%; //这里用 100% 或者 100vh 都可
}
.container{background-color: blue; height: 80%;display: flex;flex-direction: column;align-items: center;justify-content: space-around;
}
.detail{background-color: yellow;width: 100%;display: flex;flex-direction: column;
}
效果如下:
微信小程序布局中的单位及使用:px、rem、rpx、vw、vh、n%相关推荐
- 微信小程序布局技巧(三)
微信小程序布局技巧(三) 前言 小程序适配 物理像素 小程序中的px px和rpx转换 应用 尾巴 前言 本文是微信小程序(本文后面统称小程序)布局技巧系列最后一篇文章,主要说明小程序的屏幕适配问题. ...
- 全栈开发工程师微信小程序-上(中)
全栈开发工程师微信小程序-上(中) width: 750rpx; 复制代码 750rpx代表与屏幕等宽,rpx的缩写responsive pixel,这个单位是可以根据屏幕大小进行自适应调整的像素单位 ...
- 关于微信小程序开发中遇到的缺少game.json问题的解决
关于微信小程序开发中遇到的缺少game.json问题的解决 参考文章: (1)关于微信小程序开发中遇到的缺少game.json问题的解决 (2)https://www.cnblogs.com/ygxd ...
- 解决微信小程序开发中wxss中不能用本地图片
微信小程序开发中wxss中不能用本地图片,我们可以用将我们的图片传到服务器上,然后直接引用在线地址.但是当我们没有服务器时,我们可以用"图床",这个具体可以百度.这里我们用第二种方 ...
- 微信小程序 data中数据值的更改与储存
微信小程序 data中数据值的更改与储存 this.setData this.setData 直接更改 success(res){this.setData({list:res.data.data}) ...
- 微信小程序font-family中提供的十四种字体
微信小程序font-family中提供的十四种字体 链接:https://blog.csdn.net/include_IT_dog/article/details/98382276
- 解决微信小程序IOS中使用picker弹出内容和手机软键盘重叠的问题
解决微信小程序IOS中使用picker弹出内容和手机软键盘重叠的问题 项目需求: 一个信息提交页面:有input输入框,有picker选择器 遇到的问题: 点击input输入框时,手机自动弹出键盘,但 ...
- 微信小程序map中polyline的坑
微信小程序map中polyline的坑 polyline polyline层级 polyline 如果大家写过小程序的map地图应该就知道polyline的功效,说白了就是画线的,我在自己的项目中主要 ...
- 微信小程序开发过程中出现的内存泄漏问题
微信小程序开发过程中出现的内存泄漏问题 问题描述 微信小程序项目中,有两个页面多次来回切换,(我这个项目数因为 有 再来一次,和 回顾本次 的功能 所以要在答题页和分数页来回切换)就会报错 VM333 ...
最新文章
- [个人博客作业Week7]软件工程团队项目感想与反思
- python和java一样吗-Python与Java的区别与优劣?
- c语言常见50题 及答案(递归 循环 以及常见题目)
- Windows进程与线程学习笔记(八)—— 线程切换与TSS/FS
- Modelsim10.7中文注释乱码问题
- matlab 水文频率曲线,【求助】如何计算水文频率,外行求教 - 地学 - 小木虫 - 学术 科研 互动社区...
- mysql 组复制 不一致_MySQL主从复制什么原因会造成不一致,如何预防及解决
- 在pytorch中使用tensorboard
- IDEA怎么导入一个maven项目
- 文字处理技术:试图通过多次布局解决布局问题的思路是否可以避免?
- sun的java认证考试_Sun Java认证考试科目
- 智遥工作流为SAP节省License实例
- MacBook外接显示器的显示模式介绍及设置说明(分屏/多屏)
- linux 管理部门打印,Linux打印机相关的命令-打印管理_Linux常用命令大全
- 虚拟机桌面切换命令行
- 靠贴牌飞利浦冲击上市,德尔玛的自有品牌又该如何“起跳”?
- 字符集和编码 UNICODE、ANSI、UTF-8、GB2312 都是什么鬼
- 【Linux】冯诺依曼体系结构和操作系统概念
- Oracle AWR管理与维护
- Code Review Checklist
热门文章
- 四川大学和东北大学计算机科学,39所985高校分档及最强专业盘点
- Go语言从INI配置文件中读取需要的值
- vue.js 调用java_Vue.js调用后端java接口的实例代码
- J Jack与Pony的战斗
- ADB详解与fastboot以小米为例
- 最后一周 | 微生物组-扩增子16S分析和可视化(线上/线下同时开课,2021.7)
- python 支持的数据库_1.16 Python的数据库支持 - Python 全栈
- Android电子书集合
- 复古传奇登录显示服务器断线,复古传奇闪退黑屏怎么解决-复古传奇闪退的解决方法_快吧手游...
- 瞄准C端,「叮咚买菜」能否成为“预制菜”破局者?