source : https://www.pierre-giraud.com/liste-selecteurs-css-utilisation/

 

h1 {
    display: flex;
    align-items: center;
}

h1::before,
h1::after {
    content: "";
    height: 40px;
    width: 40px;
    background-color: #FFA500;
    mask-image: url('/mysvg.svg');
    -webkit-mask-image: url('/mysvg.svg'); /* Compatibilité Safari */
    mask-size: 40px 40px;
    mask-repeat: no-repeat;
}

h1::before {
    margin-right: .5rem;
}

h1::after {
    margin-left: .5rem;
}

 

3. Explication du code

 

4. Résultat et compatibilité

Avec ce code, le titre <h1> est encadré par deux icônes SVG colorées. L'utilisation de mask-image permet une personnalisation facile des couleurs via background-color.

Compatibilité navigateur :

mask-image: url('/mysvg.svg');
-webkit-mask-image: url('/mysvg.svg');

 

5. Améliorations possibles

 

6. Variante : Icône SVG à gauche et ligne à droite

Dans cette version alternative, nous utilisons toujours mask-image pour afficher une icône SVG à gauche du titre <h1>, mais nous ajoutons également une ligne à droite pour un effet visuel plus structuré.

h1 {
    display: flex;
    align-items: center;

    &:before {
        margin-right: .5rem;
        content: "";
        height: 40px;
        width: 40px;
        background-color: #FFA500;
        mask-image: url('/mysvg.svg');
        mask-size: 40px 40px;
        mask-repeat: no-repeat;
    }

    &:after {
        margin-left: 20px;
        flex: 1;
        content: "";
        height: 1px;
        background-color: #FFA500;
    }
}

 

Explication du code :