@
existe desde os dias do @import
CSS1, embora seja cada vez mais comum nas construções recentes @media
(CSS2, CSS3) e @font-face
(CSS3). A @
sintaxe em si, como mencionei, não é nova.
Tudo isso é conhecido no CSS como regras . São instruções especiais para o navegador, não diretamente relacionadas ao estilo de (X) elementos HTML / XML em documentos da Web usando regras e propriedades, embora desempenhem papéis importantes no controle de como os estilos são aplicados.
Alguns exemplos de código:
/* Import another stylesheet from within a stylesheet */
@import url(style2.css);
/* Apply this style only for printing */
@media print {
body {
color: #000;
background: #fff;
}
}
/* Embed a custom web font */
@font-face {
font-family: 'DejaVu Sans';
src: local('DejaVu Sans Regular'), url(/fonts/DejaVuSans.ttf);
}
@font-face
As regras definem fontes personalizadas para uso em seus designs que nem sempre estão disponíveis em todos os computadores; portanto, um navegador baixa uma fonte do servidor e define o texto nessa fonte personalizada como se o computador do usuário tivesse a fonte.
@media
As regras , em conjunto com as consultas de mídia (anteriormente apenas os tipos de mídia ), controlam quais estilos são aplicados e quais não são baseados em qual mídia a página está sendo exibida. No meu exemplo de código, somente ao imprimir um documento, todo o texto deve ser definido em preto contra um fundo branco (o papel). Você pode usar consultas de mídia para filtrar a mídia de impressão, dispositivos móveis, etc., e estilizar as páginas de maneira diferente para elas.
As regras não têm qualquer relação com os seletores . Devido à sua natureza variável, regras diferentes são definidas de maneiras diferentes em vários módulos diferentes. Mais exemplos incluem:
(esta lista está longe de ser exaustiva)
Você pode encontrar outra lista não exaustiva no MDN .