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.