@
ha existido desde los días de @import
CSS1, aunque podría decirse que se está volviendo cada vez más común en las construcciones recientes @media
(CSS2, CSS3) y @font-face
(CSS3). Sin @
embargo, la sintaxis en sí, como mencioné, no es nueva.
Todos estos se conocen en CSS como at-rules . Son instrucciones especiales para el navegador, que no están directamente relacionadas con el estilo de elementos (X) HTML / XML en documentos web que utilizan reglas y propiedades, aunque desempeñan funciones importantes para controlar cómo se aplican los estilos.
Algunos ejemplos 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
las reglas definen fuentes personalizadas para usar en sus diseños que no siempre están disponibles en todas las computadoras, por lo que un navegador descarga una fuente del servidor y establece el texto en esa fuente personalizada como si la computadora del usuario tuviera la fuente.
@media
las reglas , junto con las consultas de medios (anteriormente solo tipos de medios ), controlan qué estilos se aplican y cuáles no se basan en los medios en los que se muestra la página. En mi ejemplo de código, solo cuando se imprime un documento se debe configurar todo el texto en negro sobre un fondo blanco (el papel). Puede usar consultas de medios para filtrar medios impresos, dispositivos móviles, etc., y diseñar páginas de manera diferente para ellos.
Las reglas at no tienen relación alguna con los selectores . Debido a su naturaleza variable, las diferentes reglas at se definen de diferentes maneras en numerosos módulos diferentes. Más ejemplos incluyen:
(esta lista está lejos de ser exhaustiva)
Puede encontrar otra lista no exhaustiva en MDN .