Ícones de bootstrap como variáveis ​​CSS

Ícones de bootstrap como variáveis ​​CSS


O uso de fontes de ícones na marcação HTML ainda é muito popular, apesar de suas muitas desvantagens. Usá-los significa que mesmo se você usar apenas um único ícone, ainda precisará carregar o arquivo de fonte e o CSS para todo o conjunto de ícones, o que pode ser uma sobrecarga de desempenho (relativamente) significativa. Muitos sites também carregam fontes de ícones de CDNs de terceiros, que podem ser bloqueadas pelos bloqueadores de conteúdo dos usuários.

Na verdade, CSS Tricks publicou um artigo Inline SVG vs Icon Fonts Cagematch há 12 anos (!) que concluiu que SVGs inline são a melhor escolha para ícones e, desde então, os benefícios de evitar fontes de ícones só cresceram.

Posso ver o apelo de usar fontes de ícones, se você estiver usando Bootstrap Icons, por exemplo.. basta usar marcações como:

Há uma maneira melhor! Em vez de usar fontes de ícones, podemos definir todos os ícones que precisamos como variáveis ​​CSS e então mapeá-los para uma classe CSS – para que possamos usá-los de maneira semelhante às webfonts, mas sem downloads de arquivos extras e outras desvantagens.

Eu lancei Bootstrap Icons como variáveis ​​CSS, um pequeno projeto que expõe Bootstrap Icons como propriedades personalizadas CSS.

Então você tem acesso ao ícone como uma variável CSS como esta:

--bi-hearts: url("data:image/svg+xml;utf8,");

e uma classe para referenciá-lo:

.bi-heart {
  mask-image: var(--bi-heart);
}

Portanto, sua marcação HTML é idêntica ao uso de fontes de ícones:

Você pode dimensionar o ícone com CSS assim:

i class="bi-heart" style="height: 2rem; width: 2rem;">i>

O pacote inclui o CSS gerado – com variáveis ​​CSS e nomes de classes referenciando as variáveis ​​CSS como máscaras SVG.

A folha de estilo tem aproximadamente 1,3 MB (~230 KB compactada) e inclui todos os 2.078 ícones. Você pode reduzir o tamanho do arquivo e melhorar o desempenho incluindo apenas o CSS (ou variáveis) dos ícones necessários.



Source link

Postagens Similares

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *