美文网首页wx小程序前端微信小程序
【前端微信小程序】第七章 样式WXSS

【前端微信小程序】第七章 样式WXSS

作者: itlu | 来源:发表于2020-10-21 21:40 被阅读0次

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

    1. 响应式⻓度单位rpx
    2. 样式导⼊。

    1. 尺寸单位

    1. rpxresponsive 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
    iPhone6Plus 1rpx = 0.552px 1px = 1.81rpx
    1. 建议: 开发微信⼩程序时设计师可以⽤iPhone6 作为视觉稿的标准。

    1.1 使⽤步骤:

    1. 确定设计稿宽度 pageWidth
    2. 计算⽐例 750rpx = pageWidth px,因此 1px=750rpx/pageWidth
    3. less⽂件中,只要把设计稿中的 px => 750/pageWidth rpx 即可。

    1.2 像素计算案例

    1.2.1 wxml

    <view>
        rpx
    </view>
    

    1.2.2 wxss

        /* 
        1. 小程序中是不需要主动来进行样式的引入的
        2. 需要将页面中某些元素的单位有 px 修改为 rpx 
            a. 设计稿 750px
            b. 1px = 1rpx
        3.如果将屏幕的宽度修改为 375px
            a. 375px = 750rpx 
            b. 1rpx = 0.5px
        4. 存在一个设计稿宽度是 414 或者 位置 page
            a. 设计稿 page中存在一个元素 宽度为 100 px
            b. 拿以上的需求去实现不同宽度的页面进行适配
    
            page = 750rpx
            
            1px = 750rpx / page 
            100px = 750rpx * 100 / page 
        5. 利用一个属性 calc 属性css 和wxss都是支持的  
            a. 750 和 rpx 之间不能出现空格。
            b. 运算符的两遍不能留空格
    */
    
    view {
        /* width: 200rpx; */
        width: calc(750rpx*100/(375));
        height: 200rpx;
        font-size: 40rpx;
        background-color: aqua;
    }
    

    1.3 样式导入

    1. wxss中直接就⽀持,样式导⼊功能。
    2. 也可以和less中的导⼊混⽤。
    3. 使⽤ @import语句可以导⼊外联样式表,只⽀持相对路径。
    4. 样式文件是以.wxss为后缀,不能以.css为后缀。

    1.3.1 wxml

        <!-- 
        引入全局样式文件
      -->
      <view>
          @import引入全局样式文件
      </view>
    

    1.3.2 外部 wxss

        /*  将其作为一个全局样式文件  */
    
    view {
        font-size: 100rpx;
        color: aqua;
    }
    

    1.3.3 导入 wxss

        /* 
        1. 使用@import 引入全局样式文件。
        2. 只能使用相对路径
        3. 这里的样式文件的后缀必须是 .wxss 不能是 css
    */
    
    @import "../style/style.wxss";
    view {
        background-color: pink;
    }
    

    2. 选择器

    1. 特别需要注意的是 ⼩程序 不⽀持通配符 * 因此以下代码⽆效!
      *{
          margin:0;
          padding:0;
          box-sizing:border-box;
    }
    
    1. ⽬前⽀持的选择器有:
    选择器 样例 样例描述
    .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组件后边插⼊内容
    ::before view::before 在view组件前边插⼊内容

    3.⼩程序中使⽤less

    1. 原⽣⼩程序不⽀持 less,其他基于⼩程序的框架⼤体都⽀持,如wepympvuetaro 等。但是仅仅因为⼀个less功能,⽽去引⼊⼀个框架,肯定是不可取的。因此可以⽤以下⽅式来实现。

    2. 使用编辑器 vscode 安装插件 easy less

    easy less插件
    1. vscode中设置插件:
    打开settings.json文件进行设置
    1. 在settings.json文件中配置如下:
         "less.compile": {
            "outExt": ".wxss"
        }
    
    设置位置

    3.1 编写less文件测试

    less

    @color:red;
    
    view {
        color: @color;
    }
    

    3.2 修改原来的wxss文件为 less文件并引入全局的less文件

    1. 修改原来的wxss文件为 less文件并引入全局的less文件。引入方式还是和引入 wxss一样使用 @import "文件相对路径"
        @import "../style/reset.less";
    

    相关文章

      网友评论

        本文标题:【前端微信小程序】第七章 样式WXSS

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