Explique os sprites CSS e como você os implementaria em uma página ou site.
Topics
CSSPerformance
Edit on GitHub
Os sprites CSS combinam várias imagens em um único arquivo de imagem maior e usam uma combinação de CSS background-image
, background-position
e background-size
para selecionar uma parte específica da imagem maior como a imagem desejada.
Essa técnica costumava ser comumente usada para ícones (por exemplo, o Gmail usa sprites para todas as suas imagens).
Vantagens
- Reduz o número de solicitações HTTP para várias imagens (apenas um único pedido é necessário por spritesheet). Mas com HTTP2, carregar várias imagens já não é muito problema.
- Download avançado de ativos que não serão baixados até ser necessário, como imagens que aparecem apenas nos pseudo-estados
:hover
. O piscar não seria visto.
Como implementar
- Use um gerador de sprites que agrupa várias imagens em uma só e gere o CSS apropriado para isso.
- Cada imagem teria uma classe CSS correspondente com as propriedades 'background-image' e 'background-position' definidas.
- Para usar essa imagem, adicione a classe correspondente ao seu elemento.
A folha de estilos gerada pode parecer algo como:
E pode ser usado no HTML como tal: