16-4 Afficher l'image sous forme de pastille
Pour restreindre la taille de l'image, il existe plusieurs méthodes.
Une de ces méthodes est d'utiliser une feuille de style avec quelques règles CSS préétablis pour les images de profil, les avatars et autres images de ce genre. On vient ainsi restreinte la dimension et ensuite positionner au centre l'image, sans la déformer.
Je vous propose d'utiliser bootstrap-avatar
(https://github.com/getmindspun/bootstrap-avatar) pour ce besoin. Il s'agit d'une feuille de style SCSS contenant plusieurs définitions de taille pour les images de type avatar. Ce CSS vous sera aussi probablement utile dans le cadre de votre projet.
Ajouter la feuille de style _avatar
- Créez une nouvelle feuille de style
_avatar.scss
sous votre dossierstyles
. - Mettez-y le contenu suivant:
src/styles/_avatar.scss
$avatar-sizes: 16, 24, 32, 48, 64, 96, 128 !default;
@mixin avatar($size) {
height: $size + px;
width: $size + px;
font-size: round(($size / 3) * 2) + px;
line-height: $size + px;
}
.avatar {
position: relative;
display: inline-flex;
object-fit: cover;
align-items: center;
justify-content: center;
vertical-align: middle;
margin: 0;
padding: 0;
text-align: center;
text-transform: uppercase;
font-weight: normal;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
&.img-thumbnail {
padding: 4px;
max-width: none;
}
& > * {
height: 100%;
width: 100%;
}
@include avatar(32);
}
@each $breakpoint in map-keys($grid-breakpoints) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
@include media-breakpoint-up($breakpoint, $grid-breakpoints) {
@each $size in $avatar-sizes {
.avatar#{$infix}-#{$size} {
@include avatar($size);
}
}
}
}
Importer la feuille de style
Dans votre fichier styles.scss
, ajoutez une instruction d'importation, à la fin pour le nouveau fichier.
/* You can add global styles to this file, and also import other style files */
/* Variables SCSS */
@import 'styles/variables';
/* Importing Bootstrap SCSS file. */
@import 'bootstrap/scss/bootstrap';
@import 'styles/avatar';
Utiliser la classe CSS avatar
La feuille de style expose essentiellement une classe avatar
donnant le visuel de base. On peut ensuite appliquer une seconde classe pour modifier la taille, tel que avatar-96
pour une image de 96px.
Les tailles de base fournies sont les suivantes: $avatar-sizes: 16, 24, 32, 48, 64, 96, 128 !default;
Pour la documentation complète, vous pouvez visiter l'adresse suivante: https://github.com/getmindspun/bootstrap-avatar
<!-- ... -->
<img src="{{projet.image ? projet.image[0].url : '/images/default-image.png'}}"
class="avatar avatar-96 rounded-3"
alt="Image du projet" />
<!-- ... -->
