设为首页 加入收藏

TOP

【微信小程序】开发实战 之 「视图层」WXML & WXSS 全解析(五)
2019-09-17 19:09:33 】 浏览:112
Tags:程序 开发 实战 WXML WXSS 解析
uot; > DataSet Test </view> //bindViewtap.js Page({ bindViewTap:function(event){ event.target.dataset.alphaBeta == 1 // -会转换成驼峰写法 event.target.dataset.alphabeta == 2 // 大写会转换成小写 } })

touches是一个触摸点的数组。每个元素为一个Touch对象,具有如下属性:

    identifier ,触摸点的标识符;

    pageX,pageY ,距离文档左上角的距离,文档的左上角为原点,横向为X轴,纵向为Y轴;

    clientX,clientY,距离页面可显示区域(屏幕除去导航条)左上角的距离,横向为X轴,纵向为Y轴。

changedTouches 数据格式同 touches。表示有变化的触摸点,如 touchstart 从无变有,touchmove 位置变化,touchend、touchcancel 从有变无。


 

WXSS详解

wxss是一套样式语言,用于描述wxml的组件样式。它将决定wxml的组件应该怎么显示。

wxss的选择器目前支持(“.class”、“#id”、“element”、“element,element”、“::after”、“::before”),而且本地资源无法通过wxss获取,所以wxss中的样式都是用的网络图片,或者base64。这样对于某些前端开发者而言,会有所局限。

好在wxss具有css大部分特性,同时与css相比,wxss扩展的特性有:尺寸单位、样式导入。

1、尺寸单位

wxss新增了针对移动端屏幕的两种尺寸单位:rpx与rem。

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/6s               1rpx = 0.5px                                      1px = 2rpx

  iphnoe6s Plus          1rpx = 0.552px                                  1px = 1.81rpx

rem(root em)规定屏幕宽度为20rem;1rem=(750/20)rpx。

因此建议开发微信小程序时设计师可以用iphon6屏幕作为视觉稿的标准。

rpx计量的最大优势在于750设计稿不需要进行任何转换即可适配。750设计稿是多少就是多少。非750的设计稿则需要进行一次转换,如640的设计稿就需要进行一次换算,在640设计稿中的 1rpx = 640/750rpx ,而在wxss中并不支持算术运算符,所以小程序的视觉设计稿尽量使用750来给出。

2、导入样式

可以使用 @import 语句来导入外联样式表。@import 后跟需要导入的外联样式表的相对路径并用“;”表示语句结束。示例如下:

/**common.wxss**/
.small-p {
    padding: 5px;
}

/**app.wxss**/
@import "common.wxss";
.middle-p {
    padding:15px;
}

3、内联样式

内联样式指的是框架组件上支持使用 style、class 属性来控制组件的样式:

style:style接收动态的样式在运行时会进行解析,所以应该避免将静态的样式写到 style 中,以免影响渲染速度:

<view style = "color:{{color}};" />

class:用于指定样式规则,其属性值是样式规则中类选择器名(样式类名)的集合,样式类名不需要带上“.”,如“.normal-view”样式类的使用:

<view class = "normal_view" />

4、选择器

wxss 目前支持的选择有:

.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组件前面插入内容。

5、全局样式和局部样式

首页 上一页 2 3 4 5 6 下一页 尾页 5/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇微信小程序-强制手机端更新 下一篇深入V8引擎-初始化默认Platform

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目