Je suis très nouveau en CSS et je ne peux pas aligner l'icône mat (la bulle de pensée) sur la classe div = img (le carré vert à gauche) - voir l'image ci-jointe. En ce moment, l'icône est un peu près du sommet
Pour ajouter l'icône svg, j'ai utilisé Material Angular - Classe MatIconRegistry (je ne sais pas si c'est important)
Voici mon html:
<div class="container">
<div class="img"><mat-icon svgIcon="info"></mat-icon></div>
Some text here!
</div>
Voici mon css:
$conainer-min-width: 256px !default;
$conainer-max-width: 512px !default;
$conainer-height: 50px !default;
div.container {
max-width: $container-max-width;
min-width: $container-min-width;
height: $container-height;
margin: auto;
color: #000000;
background-color: #ffffff;
line-height: $container-height;
text-align: center;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
border-width: 1px;
border-style: solid;
border-color: #9e9e9e;
padding-right: 20px;
position: fixed;
z-index: 1000;
left: 0;
right: 0;
top: 30px;
}
div.img {
width: $container-height;
height: $container-height;
float: left;
display: block;
margin: 0 auto;
border-right-width: 1px;
border-right-style: solid;
border-right-color: #9e9e9e;
line-height: $container-height;
justify-content: center;
background-color: #3f9c35;
}
Des idées sur la façon de résoudre ce problème?
Vous devez ajouter vertical align
à l'élément mat-icon
ou à la classe .mat-icon
:
Pour remplacer toutes les icônes de matériau: Stackblitz
.mat-icon {
vertical-align: middle;
}
Avec FLEX: Stackblitz
CSS:
.icon-text {
display: flex;
align-items: center;
}
HTML:
<div class="icon-text">
<mat-icon>home</mat-icon>
<span>Some text here 1</span>
</div>
Pour attribuer un style particulier à une icône de matériau avec une classe d'utilitaires: Stackblitz
Dans certains fichiers css globaux:
.v-align-middle {
vertical-align: middle;
}
HTML:
<div>
<mat-icon class="v-align-middle">home</mat-icon>
<span class="v-align-middle">Some text here 1</span>
</div>
** certains frameworks css ont déjà des classes comme celle-ci, par exemple: bootstrap 4 **
Pour attribuer un style particulier à une icône de matériau: Stackblitz
CSS:
.custom-class mat-icon {
vertical-align: middle;
}
/** or using the class .mat-icon */
.custom-class .mat-icon {
vertical-align: middle;
}
HTML:
<div class="custom-class">
<mat-icon>home</mat-icon>
<span>Some text here 1</span>
</div>
Je crois que votre problème est une faute de frappe sur ces noms de variables:
$ conainer-min-width: 256px! default;
$ conainer-max-width: 512px! default;
$ conainer-height: 50px! default;
qui ne correspond pas aux variables utilisées ici:
div.container {
max-width: $ conteneur-max-width;
min-width: $ conteneur-min-width;
hauteur: $ conteneur-height; }
Je pense que cela devrait fonctionner une fois que vous avez changé conainer
en container
:)