支付寶小程序框架 樣式·acss

2018-09-30 14:58 更新

acss(AntFinancial Style Sheet)用于描述頁(yè)面的樣式。它是一套樣式語(yǔ)言,用于描述 axml 的組件樣式,決定 axml 的組件應(yīng)該怎么顯示。

為了適應(yīng)廣大的前端開發(fā)者,我們的 acss 具有 css 大部分特性。同時(shí)為了更適合開發(fā)小程序,我們對(duì) css 進(jìn)行了擴(kuò)充。

與 css 相比我們擴(kuò)展的特性有:

(1)rpx

rpx(responsive 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
iPhone6 Plus 1rpx = 0.552px 1px = 1.81rpx

(2)樣式導(dǎo)入

使用@import語(yǔ)句可以導(dǎo)入外聯(lián)樣式表,@import后跟需要導(dǎo)入的外聯(lián)樣式表的相對(duì)路徑,用;表示語(yǔ)句結(jié)束。

示例代碼如下。

/** button.acss **/
.sm-button {
  padding:5px;
}

/** app.acss **/
@import "./button.acss";
.md-button {
  padding:15px;
}

導(dǎo)入路徑支持從 node_modules 目錄載入第三方模塊,例如 page.acss:

@import "./button.acss"; /*相對(duì)路徑*/
@import "/button.acss"; /*項(xiàng)目絕對(duì)路徑*/
@import "third-party/button.acss"; /*第三方 npm 包路徑*/

(3)內(nèi)聯(lián)樣式

框架組件上支持使用styleclass屬性來(lái)控制組件的樣式。

style屬性:靜態(tài)的樣式統(tǒng)一寫到class中。style接收動(dòng)態(tài)的樣式,在運(yùn)行時(shí)會(huì)進(jìn)行解析,請(qǐng)盡量避免將靜態(tài)的樣式寫進(jìn)style中,以免影響渲染速度。

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

class屬性:用于指定樣式規(guī)則,其屬性值是樣式規(guī)則中類選擇器名(樣式類名)的集合,樣式類名不需要帶上.,樣式類名之間用空格分隔。

<view class="my-awesome-view" />

(4)選擇器

同 css3 保持一致,注意點(diǎn):

  • .a-, .am- 開頭的類選擇器為系統(tǒng)組件占用,請(qǐng)不要使用
  • 不支持屬性選擇器

(5)全局樣式與局部樣式

定義在app.acss中的樣式為全局樣式,作用于每一個(gè)頁(yè)面。在 Page 的acss文件中定義的樣式為局部樣式,只作用在對(duì)應(yīng)的頁(yè)面,并會(huì)覆蓋app.acss中相同的選擇器。

(6)頁(yè)面容器樣式

可以通過(guò) page 元素選擇器設(shè)置頁(yè)面容器的樣式,比如頁(yè)面背景色:

page {
  background-color: red;
}
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)