Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ionic LoadingController css

I am using Ionic3, and have a LoadingController.

this.loading = this.loadingCtrl.create({
  content: '',
  spinner: 'dots'
});

enter image description here

Question

Is it possible to remove the white background behind the the dots? i.e. Just have the dots over the backdrop.

As you can see from the Ionic Documentation, there is an cssClass option that can be used to do custom styling. However, I am not sure what css to apply to the LoadingController.

UPDATE

Adding the following to variables.scss:

$loading-md-background: transparent;

enter image description here

But how do I remove the box?

like image 791
Richard Avatar asked Apr 21 '17 09:04

Richard


2 Answers

custom this color in your src/theme/variables.scss

available variables: https://ionicframework.com/docs/api/components/loading/LoadingController/#sass-variables

$loading-ios-background: transparent;
$loading-md-background: $loading-ios-background;
$loading-wp-background: $loading-ios-background;

to remove box-shadow on android, add one more variable:

$loading-md-box-shadow: none;

or add your class to cssClass:

this.loading = this.loadingCtrl.create({
  content: '',
  spinner: 'dots',
  cssClass: 'my-loading-class'
});

and style:

============================

UPDATE: IONIC 3

ion-loading.my-loading-class {
  .loading-wrapper {
    background: transparent;
    box-shadow: none;
  }
}

============================

IONIC 2

.loading-ios,
.loading-md,
.loading-wp {
  .my-loading-class {
    background-color: transparent;
    box-shadow: none;
  }
}
like image 104
Tiep Phan Avatar answered Oct 04 '22 12:10

Tiep Phan


Tiep Phan's solution didn't work for me, so please see the example below for a working solution as of Ionic version 3.19.0:

app.component.ts

const LOADING = this.loadingCtrl.create({
  cssClass: 'transparent',
});

app.scss

ion-loading.transparent {
  .loading-wrapper {
    background: transparent;
    box-shadow: none;

    .spinner-crescent circle {
      stroke-width: 8px;
    }
  }
}

Please note that I have optionally increased the stroke width of the Android loading spinner to make it slightly more visible.

like image 39
tnc1997 Avatar answered Oct 04 '22 11:10

tnc1997