如何在一个页面中覆盖Ionic2 sass变量?

时间:2017-04-17 08:16:12

标签: ionic-framework ionic2 ionic2-tabs

我试图像这样覆盖variables.css中的sass变量

img

但这不是我想要的。

似乎改变了所有标签的样式。

3 个答案:

答案 0 :(得分:0)

您只需要在页面组件上执行以下操作即可。

<强> my.scss

.ios,
.md,
.wp {
    page-my {
        .margin-top-15 {
            margin-top: 15px;//this is just an example
        }

    }
}

答案 1 :(得分:0)

目前,不可能在一个页面中覆盖sass变量,它根本不起作用。

这是对离子论坛中报告的类似问题的回应:

https://github.com/ionic-team/ionic/issues/7469

一个有用的解决方案是离子服务您的项目,在浏览器上打开检查器检查所需元素并查看其离子生成在 .scss 文件中手动覆盖的类。

答案 2 :(得分:0)

目前您无法在一个页面中更改sass变量。这不是sass的工作方式。 Sass旨在用作全球设置。

有一项工作要改变,例如加载容器的背景。

你可以为大多数人这样做。

如果打开开发人员工具并在加载包装器上选择inspect元素,则会提供类.loading-wrapper,如下面的图像链接所示。

css class for loading shown in inspect element

在你的app.css中

 .loadingCss {

  .loading-wrapper {
    color: #f4f4f4;
    background: #2979ff;
  }
}
组件中的

将类添加到加载创建实例

    //initialize a loading overlay
let working = this.loadingCtrl.create({
  content: 'Working...',
  spinner: 'dots',
  cssClass: 'loadingCss'
});

现在你可以创建多个加载实例,并有单独的类加载并将它们添加到你的实例中,css将生效。

最终结果显示在下面的图片链接中。

Loading overlays with custom css on two pages

我希望这会有所帮助