样式多态

cml文件中的style标签支持样式的多态,即可以针对不同的平台写不同的样式,格式如下:

<style>
@media cml-type (支持的平台) {

}
.common {
  /**/
}
<style>

其中支持的平台为可以用逗号分隔多个平台,可选平台为web,weex,wx,alipay,baidu其他。 demo示例,class1在各端的差异实现。

<template>
  <view><text class="class1">chameleon</text><view>
</template>
<script>
  class DemoPage {

  }
  export default new DemoPage();
</script>
<style>
@media cml-type (web) {
  .class1 {
    color: red;
  }
}
@media cml-type (weex) {
  .class1 {
    color: green;
  }
}
@media cml-type (wx,alipay,baidu,qq,tt) {
  .class1 {
    color: blue;
  }
}
</style>
<script cml-type="json">
{}
</script>

注意: 多态差异语法只能在cml文件中使用,不能在.css,.less等其他样式文件中使用,如果需要分文件实现,可以在多态内部分别引入文件。例如:

<style lang="less">
@media cml-type (web) {
  @import "./style1.less";
}
@media cml-type (weex) {
  @import "./style2.less";

}
@media cml-type (wx,alipay,baidu,qq,tt) {
  @import "./style3.less";

}
</style>

results matching ""

    No results matching ""