Indicates new terms, URLs, variables in text, user-defined files and directories, commands, file extensions, filenames, directory or folder names, and UNC pathnames.
Indicates command-line computer output, code examples, Registry keys, and keyboard accelerators.
Indicates user input in examples.
Indicates variables in examples and in Registry keys. It is also used to indicate variables or user-defined elements within italic text (such as pathnames or filenames). For instance, in the path \ Windows \username
, replace username with your name.
Property Conventions
Throughout this book, there are boxes that break down a given CSS property. These have been reproduced practically verbatim from the CSS specifications, but some explanation of the syntax is in order.
Throughout, the allowed values for each property are listed with the following syntax:
Value: [ | thick | thin ]{1,4} |
Value: [ , ]* |
Value: ? [ / ]? |
Value: || |
Any words between "<" and ">" give a type of value or a reference to another property. For example, the property font
will accept values that actually belong to the property font-family
. This is denoted by the text . Any words presented in constant width
are keywords that must appear literally, without quotes. The forward slash (/) and the comma (,) must also be used literally.
Several keywords strung together means that all of them must occur in the given order. For example, help me
means that the property must use those keywords in that exact order.
If a vertical bar separates alternatives (X | Y), then any one of them must occur. A vertical double bar (X || Y) means that X, Y, or both must occur, but they may appear in any order. Brackets ([...]) are for grouping things together. Juxtaposition is stronger than the double bar, and the double bar is stronger than the bar. Thus "V W | X || Y Z" is equivalent to "[ V W ] | [ X || [ Y Z ]]".
Every word or bracketed group may be followed by one of the following modifiers:
An asterisk (*
) indicates that the preceding value or bracketed group is repeated zero or more times. Thus, bucket*
means that the word bucket
can be used any number of times, including zero. There is no upper limit defined on the number of times it can be used.
A plus (+
) indicates that the preceding value or bracketed group is repeated one or more times. Thus, mop+
means that the word mop
must be used at least once, and potentially many more times.
A question mark (?
) indicates that the preceding value or bracketed group is optional. For example, [pine tree]?
means that the words pine tree
need not be used (although they must appear in that exact order if they are used).
A pair of numbers in curly braces ({M,N}
) indicates that the preceding value or bracketed group is repeated at least M
and at most N
times. For example, ha{1,3}
means that there can be one, two, or three instances of the word ha
.
Some examples follow:
give
||
me
||
liberty
At least one of the three words must be used, and they can be used in any order. For example, give liberty
, give me
, liberty me give
, and give me liberty
are all valid.
[ I | am ]? the || walrus
Either the word I
or am
may be used, but not both, and use of either is optional. In addition, either the
or walrus
, or both, must follow in any order. Thus, you could construct I the walrus
, am walrus the
, am the
, I walrus
, walrus the
, and so forth.
koo
+
ka-choo
One or more instances of koo
must be followed by ka-choo
. Therefore, koo koo ka-choo
, koo koo koo ka-choo
, and koo ka-choo
are all legal. The number of koo
s is potentially infinite, although there are bound to be implementation-specific limits.
I really{1,4}? [love | hate] [Microsoft | Netscape | Opera | Safari]
This is the all-purpose web designer's opinion expresser. This example can be interpreted as I love Netscape
, I really love Microsoft
, and similar expressions. Anywhere from zero to four really
s may be used. You also get to pick between love
and hate
, even though only love
was shown in this example.
[[Alpha || Baker || Cray],]{2,3} and Delphi
This is a potentially long and complicated expression. One possible result would be Alpha, Cray, and Delphi
. The comma is placed because of its position within the nested bracket groups.
Using Code Examples
This book is here to help you get your job done. In general, you may use the code in this book in your programs and documentation. You do not need to contact us for permission unless you're reproducing a significant portion of the code. For example, writing a program that uses several chunks of code from this book does not require permission. Selling or distributing a CD-ROM of examples from O'Reilly books does require permission. Answering a question by citing this book and quoting example code does not require permission. Incorporating a significant amount of example code from this book into your product's documentation does require permission.