微信小程序基础
Posted 地中海真帅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序基础相关的知识,希望对你有一定的参考价值。
介绍:
今天我们接着微信小程序继续学习,今天学习一下样式wxss和样式导入,及其less,这里有微信小程序的全套视频,老师讲的很好感兴趣的可以去学习一下
https://www.bilibili.com/video/BV1nE41117BQ?p=65&spm_id_from=pageDriver
样式 WXSS
WXSS( WeiXin Style Sheets )是⼀套样式语⾔,⽤于描述 WXML 的组件样式。与 CSS 相⽐,WXSS 扩展的特性有:
-
响应式⻓度单位 rpx
-
样式导⼊
尺⼨单位
rpx (responsive pixel): 可以根据屏幕宽度进⾏⾃适应。规定屏幕宽为 750rpx 。当屏幕总宽度是750px时 750px=750rpx
1px =1 rpx
当屏幕宽度为375时
375 px =750px
1px =2rpx
rpx的总宽度不会变 不管屏幕多大都是750rpx
如果不知道屏幕宽度大小的话,将宽度定为page ,750rpx/page 就能算出来1px等于多少rpx
建议: 开发微信⼩程序时设计师可以⽤ iPhone6 作为视觉稿的标准。
使⽤步骤:
- 确定设计稿宽度 pageWidth
- 计算⽐例 750rpx = pageWidth px ,因此 1px=750rpx/pageWidth 。
- 在less⽂件中,只要把设计稿中的 px => 750/pageWidth rpx 即可。
设备 rpx | 换算px (屏幕宽度/750) | px换算rpx (750/屏幕宽度) |
---|---|---|
iPhone5 | 1rpx = 0.42px | 1px = 2.34rpx |
iPhone6 | 1rpx = 0.5px | 1px = 2rpx |
iPhone6 | Plus 1rpx = 0.552px | 1px = 1.81rpx |
样式导入
wxss中直接就⽀持,样式导⼊功能。
也可以和 less中的导⼊混⽤。
注意:使⽤ @import 语句可以导⼊外联样式表,只⽀持相对路径。
⽰例代码:
// index.wxss
.small-p
padding:5px;
全局wxss中
/** app.wxss **/
@import "common.wxss";
.middle-p
padding:15px;
选择器
特别需要注意的是 ⼩程序 不⽀持通配符 * 因此以下代码⽆效!
*
margin:0;
padding:0;
box-sizing:border-box;
目前支持的选择器有:
选择器 | 样例 | 样例描述 |
---|---|---|
class | .intro | 选择所有拥有 class=“intro” 的组件 |
#id | #firstname | 选择拥有 id=“firstname” 的组件 |
element | view | 选择所有 view 组件 |
element, element | view, checkbox | 选择所有文档的 view 组件和所有的 checkbox 组件 |
::after | view::after | 在 view 组件后边插入内容 |
::before | view::before | 在 view 组件前边插入内容 |
全局样式与局部样式
定义在 app.wxss 中的样式为全局样式,作用于每一个页面。在 page 的 wxss 文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖 app.wxss 中相同的选择器。
小程序中使用less
原⽣⼩程序不⽀持 less ,其他基于⼩程序的框架⼤体都⽀持,如 wepy , mpvue , taro 等。
但是仅仅因为⼀个less功能,⽽去引⼊⼀个框架,肯定是不可取的。因此可以⽤以下⽅式来实现
-
编辑器是 vscode
-
安装插件 easy less
- 在vs code的设置settings.json中加⼊如下,配置
"less.compile":
"outExt": ".wxss"
- 在要编写样式的地⽅,新建 less ⽂件,如 index.less ,然后正常编辑即可。
注意需要使用vscode编辑器进行编写
总结:
今天学习了样式wxss和样式导入,及其less,每天学习一点新的知识,感觉自己信心满满,今天学的也是微信小程序中的重点之一了,其实微信小程序的语法和js和vue的语法非常相似,所以大家有时间的话,可以先学一下js和vue呦
最后作者创作不易,如果文章对你有帮助的话,记得留下你的点赞和关注呦
以上是关于微信小程序基础的主要内容,如果未能解决你的问题,请参考以下文章