微信小程序开发学习记录--预备知识篇

微信小程序基础概念速览

1.小程序特点概述

a)没有 DOM(文件模块)

b)组件化开发: 具备特定功能效果的代码集合

c)体积小,单个压缩包体积不能大于 2M,否则无法上线

d)小程序的四个重要的文件

2.普通的静态页面分为四个部分

a) .js

b) .wxml —> view 结构-- > html

c) .wxss —> view 样式-- > css

d) . json ----> view 数据-- > json 文件

3.小程序适配方案: rpx (responsive pixel 响应式像素单位)

a) 小程序适配单位: rpx

b) 规定任何屏幕下宽度为 750rpx

c) 小程序会根据屏幕的宽度不同自动计算rpx 值的大小

d) Iphone6 下: 1rpx = 1 物理像素 = 0.5px

4.弹性盒模型:在没有指定具体宽高的情况下由内容撑开的布局

1)Flex 是 Flexible Box 的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。

  1. 任何一个容器都可以指定为 Flex 布局。

  2. display: ‘flex’

flex属性:

flex-direction:

①row(默认值):主轴为水平方向,起点在左端。

②row-reverse:主轴为水平方向,起点在右端。

③column:主轴为垂直方向,起点在上沿。

④column-reverse:主轴为垂直方向,起点在下沿。

flex-wrap 容器内元素的换行(默认不换行)

①flex-wrap: nowrap;(默认)

元素不换行,比如:一个div宽度100%,设置此属性,2个view宽度就自动变成各50%;
②flex-wrap: wrap;

元素换行,比如:一个div宽度100%,设置此属性,第二个view就在第二行了

以下6个属性设置在项目上。

①order

order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。

.item {  
  order: <integer>;  
}  

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MfHgZMEg-1617720770285)(E:\写作\markdown\微信小程序资料\001.png)]

②flex-grow

flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。

.item {  
  flex-grow: <number>; /* default 0 */  
}  

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K38ufyhu-1617720770294)(E:\写作\markdown\微信小程序资料\002.png)]

如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。

③flex-shrink

flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。

.item {  
  flex-shrink: <number>; /* default 1 */  
}  

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d7y1e70Y-1617720770296)(E:\写作\markdown\微信小程序资料\003.jpg)]

如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。
负值对该属性无效。

④flex-basis

flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。

.item {  
  flex-basis: <length> | auto; /* default auto */  
}  

它可以设为跟width或height属性一样的值(比如350px),则项目将占据固定空间。

⑤flex

flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。

.item {  
  flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]  
}  

该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。
建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。

⑥align-self

align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。

.item {  
  align-self: auto | flex-start | flex-end | center | baseline | stretch;  
}  

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HCaZ1q7L-1617720770306)(E:\写作\markdown\微信小程序资料\004.png)]

该属性可能取6个值,除了auto,其他都与align-items属性完全一致。

5.其他相关知识

(1)物理像素

  1. 屏幕的分辨率

  2. 设备能控制显示的最小单元,可以把物理像素看成是对应的像素点

(2)设备独立像素 & css 像素

设备独立像素(也叫密度无关像素),可以认为是计算机坐标系统中的一个点,这个点代表一个可以由程序使用并控制的虚拟像素(比如:CSS 像素,只是在 android 机中 CSS 像素就不叫”CSS 像素”了而是叫”设备独立像素”),然后由相关系统转换为物理像素。

(3)dpr 比 & DPI & PPI

  1. dpr: 设备像素比,物理像素/设备独立像素 = dpr, 一般以 Iphon6 的 dpr 为准 dpr = 2

  2. PPI: 一英寸显示屏上的像素点个数

  3. DPI:最早指的是打印机在单位面积上打印的墨点数,墨点越多越清晰

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45619006/article/details/115473618