html - Hvordan bruke png-filer som ikoner i Ionic-faner i stedet for svg/eksisterende Ionic-svg?
Jeg har googlet mye og har så langt ikke funnet noen løsning.
Jeg har en faneside:
<ion-tabs>
<ion-tab [root]="HomeTab" tabTitle="Home" ></ion-tab>
<ion-tab [root]="RecentTab" tabTitle="Recents"></ion-tab>
<ion-tab [root]="FavTab" tabTitle="Favorites"></ion-tab>
<ion-tab [root]="PersonalTab" tabTitle="Personal"></ion-tab>
<ion-tab [root]="InfoTab" tabTitle="Information"></ion-tab>
</ion-tabs>
Å bruke en av de implementerte SVG-ikonene i Ionic fungerer bra og legger ikonet over teksten: Hjem-ikon
<ion-tab [root]="HomeTab" tabTitle="Home" tabIcon="home"></ion-tab>Jeg har imidlertid fortsatt ikke funnet ut hvordan man bruker en PNG som et ikon. De fleste veiledninger på nettet ser ut til å fokusere på tilpassede SVG-er, men ingen om bruk av PNG-er/JPEG.
Hva er min feil? Finnes det en bedre løsning?
Takk på forhånd
Svar #1
Fant en løsning som fungerte for meg:
i SASS/scss-filen velger jeg knappen jeg vil redigere, og deretter overstyrer jeg den med banen der PNG-en min kommer fra:
.ion-md-home {
content: url("../assets/img/PATH.png") !important; }
Legg deretter til formatering slik du trenger det.
Svar #2
Jeg gjorde det på denne måten. Jeg tror mer elegant:
Til HTML-malen legger jeg til et tomt img-element med én spesifisert CSS-klasse
<ion-tab-bar slot="bottom">
<ion-tab-button tab="clean">
<img class="custom-icon-clean-image"/>
<ion-label>
Clean
</ion-label>
</ion-tab-button>
<ion-tab-button tab="dirty">
<img class="custom-icon-dirty-image"/>
<ion-label>
Dirty
</ion-label>
</ion-tab-button>
</ion-tab-bar>
Og til SCSS-filen legger jeg til img-atferd for ruteaktivering på denne måten:
.custom-icon-clean-image {
content:url("../../assets/icon/barrel_outline.png");
}
ion-tab-button.tab-selected .custom-icon-clean-image {
content:url("../../assets/icon/barrel_outline_active.png");
}
Løsningen fungerer også med Ionic 5.