微信小程序从入门到入土教程(03)

2021-08-23 16:27:42 浏览数 (1)


文章目录

  • 一、小程序事件的绑定
    • 1. wxml
    • 2. page
    • 3. 特别注意
  • 二、样式 WXSS
    • 1. 尺寸单位
    • 2. 样式导⼊
    • 3. 选择器
    • 4. 小程序中使用less

一、小程序事件的绑定

⼩程序中绑定事件,通过bind关键字来实现。如 bindtap bindinput bindchange 等 不同的组件⽀持不同的事件,具体看组件的说明即可。

1. wxml

代码语言:javascript复制
<input bindinput="handleInput" />

2. page

代码语言:javascript复制
Page({
  // 绑定的事件
  handleInput: function(e) {
    console.log(e);
    console.log("值被改变了");
 }
})

3. 特别注意

(1). 绑定事件时不能带参数 不能带括号 以下为错误写法

代码语言:javascript复制
<input bindinput="handleInput(100)" />

(2). 事件传值 通过标签⾃定义属性的⽅式 和 value

代码语言:javascript复制
<input bindinput="handleInput" data-item="100" />

(3). 事件触发时获取数据

代码语言:javascript复制
 handleInput: function(e) {
    // {item:100}
   console.log(e.currentTarget.dataset)
      
    // 输入框的值
   console.log(e.detail.value);
 }

二、样式 WXSS

WXSS( WeiXin Style Sheets )是⼀套样式语⾔,⽤于描述 WXML 的组件样式。 与 CSS 相⽐,WXSS 扩展的特性有:

  • 响应式⻓度单位 rpx
  • 样式导⼊

1. 尺寸单位

rpx (responsive pixel): 可以根据屏幕宽度进⾏⾃适应。规定屏幕宽为 750rpx 。如在iPhone6 上,屏幕宽度为 375px ,共有750个物理像素,则 750rpx = 375px = 750物理像素 , 1rpx = 0.5px = 1物理像素 。

设备

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

建议: 开发微信⼩程序时设计师可以⽤ iPhone6 作为视觉稿的标准。 使⽤步骤: 1. 确定设计稿宽度 pageWidth 2. 计算⽐例 750rpx = pageWidth px ,因此 1px=750rpx/pageWidth 。 3. 在less⽂件中,只要把设计稿中的 px => 750/pageWidth rpx 即可。

2. 样式导⼊

wxss中直接就⽀持,样式导⼊功能。 也可以和 less中的导⼊混⽤。 使⽤ @import 语句可以导⼊外联样式表,只⽀持相对路径。 ⽰例代码:

代码语言:javascript复制
/** common.wxss **/
.small-p {
  padding:5px; }
代码语言:javascript复制
/** app.wxss **/
@import "common.wxss";
.middle-p {
  padding:15px; }

3. 选择器

特别需要注意的是 ⼩程序 不⽀持通配符 * 因此以下代码⽆效!

代码语言:javascript复制
*{
    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 组 件

nth-child(n)

view:nth-child(n)

选择某个索引的标签

::after

view::after

在 view 组件后边插⼊内容

::after

view::before

在 view 组件前边插⼊内容

4. 小程序中使用less

原⽣⼩程序不⽀持 less ,其他基于⼩程序的框架⼤体都⽀持,如 wepy , mpvue , taro 等。 但是仅仅因为⼀个less功能,⽽去引⼊⼀个框架,肯定是不可取的。因此可以⽤以下⽅式来实现 (1). 编辑器是 vscode (2). 安装插件 easy less

(3). 在vs code的设置中加⼊如下,配置

(4). 在要编写样式的地⽅,新建 less ⽂件,如 index.less ,然后正常编辑即可。


相关内容:

  • 微信小程序从入门到入土教程(01)
  • 微信小程序入门之模板语法(02)
  • 微信小程序从入门到入土教程(03)
  • 微信小程序入门之常用组件(04)
  • 微信小程序入门之自定义组件(05)

0 人点赞