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

WXSS( WeiXin Style Sheets )是?套樣式語?,?于描述 WXML的組件樣式。與CSS相?,WXSS擴(kuò)展的特性有:

  1. 響應(yīng)式?度單位rpx
  2. 樣式導(dǎo)?。

1. 尺寸單位

  1. rpxresponsive pixel):可以根據(jù)屏幕寬度進(jìn)??適應(yīng)。規(guī)定屏幕寬為 750rpx。如在iPhone6 上,屏幕寬度為 375px ,共有750個(gè)物理像素,則 750rpx = 375px = 750物理像素 , 1rpx = 0.5px = 1物理像素。
設(shè)備 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. 建議: 開發(fā)微信?程序時(shí)設(shè)計(jì)師可以?iPhone6 作為視覺稿的標(biāo)準(zhǔn)。

1.1 使?步驟:

  1. 確定設(shè)計(jì)稿寬度 pageWidth
  2. 計(jì)算?例 750rpx = pageWidth px,因此 1px=750rpx/pageWidth。
  3. less?件中,只要把設(shè)計(jì)稿中的 px => 750/pageWidth rpx 即可。

1.2 像素計(jì)算案例

1.2.1 wxml

<view>
    rpx
</view>

1.2.2 wxss

    /* 
    1. 小程序中是不需要主動(dòng)來進(jìn)行樣式的引入的
    2. 需要將頁面中某些元素的單位有 px 修改為 rpx 
        a. 設(shè)計(jì)稿 750px
        b. 1px = 1rpx
    3.如果將屏幕的寬度修改為 375px
        a. 375px = 750rpx 
        b. 1rpx = 0.5px
    4. 存在一個(gè)設(shè)計(jì)稿寬度是 414 或者 位置 page
        a. 設(shè)計(jì)稿 page中存在一個(gè)元素 寬度為 100 px
        b. 拿以上的需求去實(shí)現(xiàn)不同寬度的頁面進(jìn)行適配

        page = 750rpx
        
        1px = 750rpx / page 
        100px = 750rpx * 100 / page 
    5. 利用一個(gè)屬性 calc 屬性css 和wxss都是支持的  
        a. 750 和 rpx 之間不能出現(xiàn)空格。
        b. 運(yùn)算符的兩遍不能留空格
*/

view {
    /* width: 200rpx; */
    width: calc(750rpx*100/(375));
    height: 200rpx;
    font-size: 40rpx;
    background-color: aqua;
}

1.3 樣式導(dǎo)入

  1. wxss中直接就?持,樣式導(dǎo)?功能。
  2. 也可以和less中的導(dǎo)?混?。
  3. 使? @import語句可以導(dǎo)?外聯(lián)樣式表,只?持相對(duì)路徑。
  4. 樣式文件是以.wxss為后綴,不能以.css為后綴。

1.3.1 wxml

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

1.3.2 外部 wxss

    /*  將其作為一個(gè)全局樣式文件  */

view {
    font-size: 100rpx;
    color: aqua;
}

1.3.3 導(dǎo)入 wxss

    /* 
    1. 使用@import 引入全局樣式文件。
    2. 只能使用相對(duì)路徑
    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) 選擇某個(gè)索引的標(biāo)簽
::after view::after 在view組件后邊插?內(nèi)容
::before view::before 在view組件前邊插?內(nèi)容

3.?程序中使?less

  1. 原??程序不?持 less,其他基于?程序的框架?體都?持,如wepy, mpvue , taro 等。但是僅僅因?yàn)?個(gè)less功能,?去引??個(gè)框架,肯定是不可取的。因此可以?以下?式來實(shí)現(xiàn)。

  2. 使用編輯器 vscode 安裝插件 easy less。

easy less插件
  1. vscode中設(shè)置插件:
打開settings.json文件進(jìn)行設(shè)置
  1. 在settings.json文件中配置如下:
     "less.compile": {
        "outExt": ".wxss"
    }
設(shè)置位置

3.1 編寫less文件測(cè)試

less

@color:red;

view {
    color: @color;
}

3.2 修改原來的wxss文件為 less文件并引入全局的less文件

  1. 修改原來的wxss文件為 less文件并引入全局的less文件。引入方式還是和引入 wxss一樣使用 @import "文件相對(duì)路徑" 。
    @import "../style/reset.less";
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容