acss(AntFinancial Style Sheet)是一套样式语言,用于描述 axml 页面的组件样式,决定 axml 的组件应该如何显示。

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

与 CSS 相比,acss 的扩展的特性有:

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

    设备

    rpx 换算 px(屏幕宽度/750)

    px 换算 rpx(750/屏幕宽度)

    iPhone5

    1 rpx = 0.42 px

    1 px = 2.34 rpx

    iPhone6

    1 rpx = 0.5 px

    1 px = 2 rpx

    iPhone6 Plus

    1 rpx = 0.552 px

    1 px = 1.81 rpx

  • 样式导入:使用 @import 语句可以导入外联样式表,@import 后需要加上外联样式表的相对路径,用分号(;)表示结束。

    代码示例:

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

    导入路径支持从 node_modules 目录载入第三方模块,例如 page.acss

    @import "./button.acss"; /*相对路径*/
    @import "/button.acss"; /*项目绝对路径*/
    @import "third-party/button.acss"; /*第三方 npm 包路径*/
  • 内联样式:组件支持使用 styleclass 属性来控制样式。

    • style 属性:静态的样式统一写到 class 中。style 接收动态的样式,样式在运行时会进行解析。请尽量避免将静态的样式写进 style 中,以免影响渲染速度。

      <view style="color:{{color}};" />
    • class 属性:用于指定样式规则,属性值是样式规则中类选择器名(样式类名)的集合,样式类名不需要带点(.),类名之间用空格分隔。

      <view class="my-awesome-view" />
  • 选择器:与 CSS3 保持一致。

    说明

    .a-.am- 开头的类选择器为系统组件占用,请不要使用。 不支持属性选择器。

  • 全局样式与局部样式:定义在 app.acss 中的样式为全局样式,作用于每一个页面。在 Page 的 acss 文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖 app.acss 中相同的选择器。

  • 页面容器样式:可以通过 page 元素选择器来设置页面容器的样式,比如页面背景色:

    page {
    background-color: red;
    }