微信小程式之wxss05

helloworld工程師發表於2020-11-08

微信小程式之wxss05

WXSS

WXSS (WeiXin Style Sheets)是一套樣式語言,用於描述 WXML 的元件樣式。

WXSS 用來決定 WXML 的元件應該怎麼顯示。

為了適應廣大的前端開發者,WXSS 具有 CSS 大部分特性。同時為了更適合開發微信小程式,WXSS 對 CSS 進行了擴充以及修改。

與 CSS 相比,WXSS 擴充套件的特性有:

  • 尺寸單位
  • 樣式匯入

尺寸單位

  • rpx(responsive pixel): 可以根據螢幕寬度進行自適應。規定螢幕寬為750rpx。如在 iPhone6 上,螢幕寬度為375px,共有750個物理畫素,則750rpx = 375px = 750物理畫素,1rpx = 0.5px = 1物理畫素。
裝置rpx換算px (螢幕寬度/750)px換算rpx (750/螢幕寬度)
iPhone51rpx = 0.42px1px = 2.34rpx
iPhone61rpx = 0.5px1px = 2rpx
iPhone6 Plus1rpx = 0.552px1px = 1.81rpx

建議: 開發微信小程式時設計師可以用 iPhone6 作為視覺稿的標準。

注意: 在較小的螢幕上不可避免的會有一些毛刺,請在開發時儘量避免這種情況。

樣式匯入

使用@import語句可以匯入外聯樣式表,@import後跟需要匯入的外聯樣式表的相對路徑,用;表示語句結束。

示例程式碼:

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

內聯樣式

框架元件上支援使用 style、class 屬性來控制元件的樣式。

  • style:靜態的樣式統一寫到 class 中。style 接收動態的樣式,在執行時會進行解析,請儘量避免將靜態的樣式寫進 style 中,以免影響渲染速度。
<view style="color:{{color}};" />
  • class:用於指定樣式規則,其屬性值是樣式規則中類選擇器名(樣式類名)的集合,樣式類名不需要帶上.,樣式類名之間用空格分隔。
<view class="normal_view" />

選擇器

目前支援的選擇器有:

選擇器樣例樣例描述
.class.intro選擇所有擁有 class="intro" 的元件
#id#firstname選擇擁有 id="firstname" 的元件
elementview選擇所有 view 元件
element, elementview, checkbox選擇所有文件的 view 元件和所有的 checkbox 元件
::afterview::after在 view 元件後邊插入內容
::beforeview::before在 view 元件前邊插入內容

全域性樣式與區域性樣式

定義在 app.wxss 中的樣式為全域性樣式,作用於每一個頁面。在 page 的 wxss 檔案中定義的樣式為區域性樣式,只作用在對應的頁面,並會覆蓋 app.wxss 中相同的選擇器。

相關文章