 
CSS2 defines an extensible structure for declarations or directives (commands, if you will) that are part of style sheet definitions. They are called at-rules because the rule starts with the "at" symbol (@) followed by an identifier for the declaration. Each at-rule may then include one or more descriptors that define the characteristics of the rule.
Although at-rules typically appear as the first declarations in a style sheet, in practice some (@media in particular) work best when only one occupies each style sheet. The following sequence provides different style characteristics for a document when viewed on screen and printed on paper (relative font size on the screen, absolute on paper):
<style type="text/css">
@media screen {
    body {font-size: 14px}
}
</style>
<style type="text/css">
@media print {
    body {font-size: 12pt}
}
</style>The @font-face rule can be used to download font definition files to the browser, and associate each font definition with a font family name to be assigned by succeeding style assignments. Here is an example that downloads one of the Internet Explorer accepted font file formats, assigning the definition to a font family name called Stylish:
<style type="text/css">
@font-face {
    font-family: Stylish;
    font-weight:normal;
    font-style:normal;
    src:url(fonts/stylish.eot);
}
</style>IE allows you to define multiple @font-face rules in the same style sheet. Visit http://msdn.microsoft.com/workshop/author/fontembed/font_embed.asp for details on how to create font definition files that work with IE for Windows and Macintosh.
Table 11-3 provides a summary of the at-rules supported by CSS and mainstream browsers.
| Name | NN | IE/Windows | IE/Mac | CSS | Description | 
|---|---|---|---|---|---|
| @charset | 6 | 5 | 5 | 2 | Character set used for external style sheet file. | 
| @font-face | n/a | 4 | n/a | 2 | Font description to assist in font-matching between an embedded font and the client system font (or downloaded font). | 
| @import | 6 | 4 | 4 | 1 | Imports an external style sheet. See Chapter 3 for the impact on the cascade. | 
| @media | 6 | 5 | n/a | 2 | Defines an output media type for one or more style sheet rules. Rules assigned to the same selectors but inside different @media rules (e.g., @media print or @media screen) adhere to media-specific rules when the document is rendered in the specified medium. | 
| @page | n/a | n/a | n/a | 2 | Defines the page box's size, margins, orientation, crop marks, and other page-related attributes governing the printing of the document. | 
 
Copyright © 2003 O'Reilly & Associates. All rights reserved.