小程序 视图层分析

作者: 极客小寨 | 来源:发表于2017-12-01 16:34 被阅读24次
    wchat.jpg

    视图层分析

    1、[page-name].wxml页面结构

    WXML(WeiXin Markup Language)是MINA框架设计的一套标签语言,基于XML。

    结合一些基础组件、事件系统、模板数据绑定,可以构建出页面的结构。

    简单来说:wxml ≈ xml + 事件系统 + 模板引擎

    例如:

    // js
    Page({  data: {    todos: [
            { text: 'JavaScript', completed: false },
            { text: 'JavaScript+', completed: false },
            { text: 'JavaScript++', completed: false }
        ]
    },
    completed (e) { ... }
    })
    
    <!-- wxml -->
    <view>
      <view wx:for="{{ todos }}">
        <block wx:if="{{ !item.completed }}">
          <text>{{ item.text }}</text>
          <button bindtap="completed" data-item-index="{{ index }}"> √ </button>
        </block>
      </view>
    </view>
    
    2、[page-name].wxss页面样式

    WXSS(WeiXin Style Sheets)是MINA框架设计的一套标签语言,基于XML。

    WXSS用来决定了在WXML中定义的组件应该怎么显示。

    为了适应广大的前端开发者,我们的WXSS具有CSS大部分特性。 同时为了更适合开发微信小程序,我们对CSS进行了扩充以及修改。

    与CSS相比我们扩展的特性有:

    • 尺寸单位
    • 样式导入(CSS也有)
    尺寸单位

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

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

    设备 rpx换算px (屏幕宽度/750) px换算rpx (750/屏幕宽度) rem换算rpx (750/20)
    iPhone5 1rpx = 0.42px 1px = 2.34rpx 1rem = 37.5rpx
    iPhone6 1rpx = 0.5px 1px = 2rpx 1rem = 37.5rpx
    iPhone6s 1rpx = 0.552px 1px = 1.81rpx 1rem = 37.5rpx

    建议: 开发微信小程序时设计师可以用 iPhone6 作为视觉稿的标准。
    注意: 在较小的屏幕上不可避免的会有一些毛刺,请在开发时尽量避免这种情况。

    样式导入

    使用@import语句可以导入外联样式表,@import后跟需要导入的外联样式表的相对路径,用;表示语句结束。

    @import "common.wxss";text {  background-color: #ff0;
    }
    
    选择器

    目前只支持如下选择器

    选择器 样例 样例描述
    .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-name].wxss文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖app.wxss中相同的选择器。

    如果你有更好的心得和建议,欢迎拍砖一起探讨。
    欢迎加入【编程技术微分享】,加入(596888158)请留言,或联系QQ:Mr.Chen(1182929304)。

    相关文章

      网友评论

        本文标题:小程序 视图层分析

        本文链接:https://www.haomeiwen.com/subject/xmewbxtx.html