| azimuth | NN n/a IE n/a CSS 2 |
| Inherited: Yes |
Up to two values (other than inherit). One represents the angle, clockwise from straight ahead; the second is a 20-degree incremental movement to the left or right. An angle value is any value in the range of -360 to +360 (inclusive) plus the letters "deg", as in 90deg. The value 0deg is directly in front of the listener. To set the angle to the left of the listener, the value can be either -90deg or 270deg. Optionally, you can choose an angleConstant value from a large library of descriptions that correspond to fixed points around the circle. If you add the behind modifier, the values shift from in front of the listener to behind the listener.
|
Value |
Equals |
Value |
Equals |
|---|---|---|---|
| center | 0deg | center behind | 180deg |
| center-right | 20deg | center-right behind | 160deg |
| right | 40deg | right behind | 140deg |
| far-right | 60deg | far-right behind | 120deg |
| right-side | 90deg | right-side behind | 90deg |
| left-side | 270deg | left-side behind | 270deg |
| far-left | 300deg | far-left behind | 240deg |
| left | 320deg | left behind | 220deg |
| center-left | 340deg | center-left behind | 200deg |
For the direction value, you can choose from two constants: leftwards | rightwards. These settings shift the sound 20 degrees in the named direction.
center
h1 {azimuth: 45deg}
p.aside {azimuth: center-right behind}
All elements.
| background | NN 6 IE 4 CSS 1 |
| Inherited: No |
background: background-attachment || background-color || background-image || background-position || background-repeat
Any combination of the five background-style attribute values, in any order. Any attribute not specified is assigned its initial value. See each attribute for details about the expected values.
None.
All elements.
| background-attachment | NN 6 IE 4 CSS 1 |
| Inherited: No |
The fixed value keeps the image stationary in the element viewport; the scroll value lets the image scroll with the document content.
scroll
All elements.
| background-color | NN 4 IE 4 CSS 1 |
| Inherited: No |
Any valid color specification (see description at beginning of the chapter) or transparent.
transparent
All elements.
| background-image | NN 4 IE 4 CSS 1 |
| Inherited: No |
To specify a URL, use the url( ) wrapper for the attribute value. You can omit the attribute or specify none to prevent an image from loading into the element's background.
none
All elements.
| background-position | NN 6 IE 4 CSS 1 |
| Inherited: No |
background-position: [percentage | length] {1,2} |
[top | center | bottom] || [left | center | right]
You can specify one or two percentages, which are the percentage of the block-level element's box width and height (respectively) at which the image (or repeated images) begins. If you supply only one percentage value, it applies to the horizontal measure, and the vertical measure is automatically set to 50%. Instead of percentages, you can specify length values (in the unit of measure that best suits the medium). You can also mix a percentage with a length. In lieu of the numerical values, you can create combinations of values with the two sets of constant values. Select one from each collection, as in top left, top right, or bottom center. Whenever you specify two values, they must be separated by a space.
0% 0%
div.marked {background-image: url(watermark.jpg);
background-position: center top}
Block-level and replaced elements.
| background-position-x, background-position-y | NN n/a IE 4 CSS n/a |
| Inherited: No |
background-position-x: [percentage | length] | [left | center | right ] background-position-y: [percentage | length] | [top | center | bottom]
You can specify the percentage of the block-level element's box width or height (respectively) at which the image (or repeated images) begins. Instead of percentages, you can specify length values (in the unit of measure that best suits the medium). In lieu of the numerical values, you may use one axis-specific constant value per attribute.
0%
div.marked {background-image: url(watermark.jpg);
background-position-x: center}
Block-level and replaced elements.
[window.]document.getElementById("elementID").style.backgroundPositionX
[window.]document.getElementById("elementID").style.backgroundPositionY
| background-repeat | NN 6 IE 4 CSS 1 |
| Inherited: No |
With a setting of no-repeat, one instance of the image appears in the location within the element established by the background-position attribute (default is the top-left corner). Normal repeats are performed along both axes, but you can have the image repeat down a single column (repeat-y) or across a single row (repeat-x).
repeat
All elements.
| behavior | NN n/a IE 5(Win) CSS n/a |
| Inherited: No |
CSS-formatted URL value, with the actual URL pointing to an external .htc file, ID of an object element that loads a behavior ActiveX control into the page, or one of the built-in default behaviors (in the format url(#default#behaviorName)). Default behavior names are:
|
anchorClick |
anim |
clientCaps |
download |
|
homePage |
httpFolder |
mediaBar |
saveFavorite |
|
saveHistory |
saveSnapshot |
userData |
For details on what these default behaviors do and under what security conditions you can use them, visit http://msdn.microsoft.com/workshop/author/behaviors/reference/reference.asp.
None.
All elements.
[window.]document.getElementById("elementID").style.behavior
[window.]document.getElementById("elementID").behaviorUrns[i]
| border | NN 6 IE 4 CSS 1 |
| Inherited: No |
Due to differences in the way browsers define their default behavior with regard to borders, every style sheet border rule should include the width and style settings. Failure to specify both attributes may result in the border not being seen in one browser or the other.
For the border-width and border-style attribute values, see the respective attributes in this chapter. For details on the color value, see the section about colors at the beginning of this chapter.
None.
All elements, but only block and replaced elements in IE 4 and 5 for Windows.
| border-bottom, border-left, border-right, border-top | NN 6 IE 4 CSS 1 |
| Inherited: No |
border-bottom: border-bottom-width || border-bottom-style || color border-left: border-left-width || border-left-style || color border-right: border-right-width || border-right-style || color border-top: border-top-width || border-top-style || color
For the width and style attribute values, see the border-bottom-width and border-bottom-style attributes in this chapter. For details on the color value, see the section about colors at the beginning of this chapter.
None.
p {border-bottom: 3px solid lightgreen}
p {border-left: 6px solid lightgreen}
p {border-right: 3px solid lightgreen}
p {border-top: 6px solid lightgreen}
All elements, but only block and replaced elements in IE 4 and 5 for Windows.
[window.]document.getElementById("elementID").style.borderBottom
[window.]document.getElementById("elementID").style.borderLeft
[window.]document.getElementById("elementID").style.borderRight
[window.]document.getElementById("elementID").style.borderTop
| border-bottom-color, border-left-color, border-right-color, border-top-color | NN 6 IE 4 CSS 2 |
| Inherited: No |
border-bottom-color: color border-left-color: color border-right-color: color border-top-color: color
For details on the color value, see the section about colors at the beginning of this chapter.
None.
p {border-bottom-color: gray}
div {border-left-color: #33c088}
p.special {border-right-color: rgb(150, 75, 0)}
h3 {border-top-color: rgb(100%, 50%, 21%)}
All elements, but only block and replaced elements in IE 4 and 5 for Windows.
[window.]document.getElementById("elementID").style.borderBottomColor
[window.]document.getElementById("elementID").style.borderLeftColor
[window.]document.getElementById("elementID").style.borderRightColor
[window.]document.getElementById("elementID").style.borderTopColor
| border-bottom-style, border-left-style, border-right-style, border-top-style | NN 6 IE 4 CSS 2 |
| Inherited: No |
border-bottom-style: style border-left-style: style border-right-style: style border-top-style: style
Style values are constants that are associated with specific ways of rendering border lines. Not all browser versions recognize all of the values in the CSS recommendation. Style support is shown in the following table.
|
Value |
NN |
IE/Windows |
IE/Mac |
CSS |
|---|---|---|---|---|
| dashed |
6 |
5.5 |
4 |
1 |
| dotted |
6 |
5.5 |
4 |
1 |
| double |
4 |
4 |
4 |
1 |
| groove |
4 |
4 |
4 |
1 |
| hidden |
6 |
n/a |
4 |
2 |
| inset |
4 |
4 |
4 |
1 |
| none |
4 |
4 |
4 |
1 |
| outset |
4 |
4 |
4 |
1 |
| ridge |
4 |
4 |
4 |
1 |
| solid |
4 |
4 |
4 |
1 |
The manner that browsers interpret the definitions of the style values is not universal. Figure 11-1 shows a gallery of all styles as rendered by Internet Explorer 6 for Windows, Explorer 5 for Macintosh, and Netscape 6. Don't expect the same look in all browsers.

none
p {border-style: solid; border-bottom-style: none}
div {border-left-style: ridge}
All elements.
[window.]document.getElementById("elementID").style.borderBottomStyle
[window.]document.getElementById("elementID").style.borderLeftStyle
[window.]document.getElementById("elementID").style.borderRightStyle
[window.]document.getElementById("elementID").style.borderTopStyle
| border-bottom-width, border-left-width, border-right-width, border-top-width | NN 4 IE 4 CSS 1 |
| Inherited: No |
border-bottom-width: thin | medium | thick | length border-left-width: thin | medium | thick | length border-right-width: thin | medium | thick | length border-top-width: thin | medium | thick | length
Three constants—thin | medium | thick—allow the browser to define how many pixels are used to show the border. For more precision, you can also assign a length value (see the discussion of length values at the beginning of this chapter).
medium (NN 6, IE); 0 (NN 4).
h2 {border-bottom-width: 2px}
div {border-left-width: thin}
p.special {border-right-width: 0.5em}
All elements, but only block and replaced elements in IE 4 and 5 for Windows.
[window.]document.getElementById("elementID").style.borderBottomWidth
[window.]document.getElementById("elementID").style.borderLeftWidth
[window.]document.getElementById("elementID").style.borderRightWidth
[window.]document.getElementById("elementID").style.borderTopWidth
| border-collapse | NN 6 IE 5(Win) CSS 2 |
| Inherited: Yes |
Constant values: collapse | separate.
separate
The table element.
| border-color | NN 4 IE 4 CSS 1 |
| Inherited: No |
For Navigator 4, one color value only. In Internet Explorer and Netscape 6, this attribute accepts one, two, three, or four color values, depending on how many and which borders you want to set with specific colors. Value quantities and positions are interpreted as shown in the following table.
|
Number of values |
Effect |
|---|---|
|
1 |
All four borders set to value |
|
2 |
Top and bottom borders set to the first value, right and left borders set to the second value |
|
3 |
Top border set to first value, right and left borders set to second value, bottom border set to third value |
|
4 |
Top, right, bottom, and left borders set, respectively |
The element's color style property (which is inherited if not specifically assigned for the element).
h2 {border-color: red blue red}
div {border-color: red rgb(0,0,255) red}
All elements, but only block and replaced elements in IE 4 and 5 for Windows.
| border-spacing | NN 6 IE n/a CSS 2 |
| Inherited: Yes |

See the discussion of length values at the beginning of this chapter. If you want no spacing along one axis, set its value to zero.
0
The table element.
| border-style | NN 4 IE 4 CSS 1 |
| Inherited: No |
Style values are constants that are associated with specific ways of rendering border lines. Not all browsers recognize all of the values in the CSS recommendation. Style support is as follows.
|
Value |
NN |
IE/Windows |
IE/Mac |
CSS |
|---|---|---|---|---|
| dashed |
6 |
5.5 |
4 |
1 |
| dotted |
6 |
5.5 |
4 |
1 |
| double |
4 |
4 |
4 |
1 |
| groove |
4 |
4 |
4 |
1 |
| hidden |
6 |
n/a |
4 |
2 |
| inset |
4 |
4 |
4 |
1 |
| none |
4 |
4 |
4 |
1 |
| outset |
4 |
4 |
4 |
1 |
| ridge |
4 |
4 |
4 |
1 |
| solid |
4 |
4 |
4 |
1 |
The precise manner in which browsers interpret the definitions of the style values is far from universal. Figure 11-1 shows a gallery of all styles as rendered by Internet Explorer 6 for Windows, Explorer 5 for Macintosh, and Netscape 6. Do not expect the exact same look in all browsers.
For Navigator 4, you may apply one style value only. In Internet Explorer and Netscape 6, this attribute accepts one, two, three, or four space-delimited borderStyle values, depending on how many and which borders you want to set with specific styles. Value quantities and positions are interpreted as shown in the following table.
|
Number of values |
Effect |
|---|---|
|
1 |
All four borders set to value |
|
2 |
Top and bottom borders set to the first value, right and left borders set to the second value |
|
3 |
Top border set to first value, right and left borders set to second value, bottom border set to third value |
|
4 |
Top, right, bottom, and left borders set, respectively |
none
h1 {border-style: ridge; border-width: 3px}
div {border-style: solid double; border-width: 4px}
All elements, but only block and replaced elements in IE 4 and 5 for Windows.
| border-width | NN 4 IE 4 CSS 1 |
| Inherited: No |
Three constants—thin | medium | thick—allow the browser to define how many pixels are used to show the border. For more precision, you can also assign a length value (see the discussion of length values at the beginning of this chapter).
This attribute accepts one, two, three, or four space-delimited borderWidth values, depending on how many and which borders you want to set with specific styles. Value quantities and positions are interpreted as follows.
|
Number of values |
Effect |
|---|---|
|
1 |
All four borders set to value |
|
2 |
Top and bottom borders set to the first value, right and left borders set to the second value |
|
3 |
Top border set to first value, right and left borders set to second value, bottom border set to third value |
|
4 |
Top, right, bottom, and left borders set, respectively |
medium (IE and NN 6); 0 (NN 4)
h1 {border-style: ridge; border-width: 3px 5px 3px}
div {border-style: solid double; border-width: 4px}
All elements, but only block and replaced elements in IE 4 and 5 for Windows.
| bottom | NN 6 IE 5 CSS 2 |
| Inherited: No |
See the discussion about length values at the beginning of this chapter. Negative lengths may be allowed in some contexts, but be sure to test the results on all browsers. You may also specify a percentage value, which is calculated based on the height of the next outermost container. The setting of auto lets the browser determine the bottom offset of the element box on its naturally flowing offset within the containing box.
auto
All positioned elements.
| caption-side | NN 6 IE 5(Mac) CSS 2 |
| Inherited: Yes |
One of the four constant values: top | bottom | left | right.
top
caption elements.
| clear | NN 4 IE 4 CSS 1 |
| Inherited: No |
Any of the following constants: both | left | none | right.
none
<img src="logo.gif" height="40" width="60" style="float: right"> <h1 style="clear: right">Giantco Corporation</h1>
Block-level elements.
| clip | NN 4 IE 4 CSS 2 |
| Inherited: No |
Extending to CSS2, the only shape recognized for the clip attribute is rect. Other shapes may be admitted in the future.
When specifying lengths for each side of the clipping rectangle, observe the clockwise order of values: top, right, bottom, left. See the discussion about length values at the beginning of this chapter. A value of auto sets the clipping region to the block that contains the content (a block that may extend in IE 4 to the width of the next outermost container, like the body element).
auto
<span style="position: absolute; clip: rect(10px 110px 80px 10px)"> <img src="desk1.gif" height="90" width="120"> </span>
Block-level, replaced, and positioned elements.
| color | NN 4 IE 4 CSS 1 |
| Inherited: Yes |
See the discussion of color attribute values at the beginning of this chapter.
black
All elements.
| content | NN 6 IE n/a CSS 2 |
| Inherited: No |
a permissions phrase is appended to the end of every blockquote element, although the content does not become a member of the document tree. HTML tags in the content text are not interpreted, but if the situation warrants it, an external document can be assigned to the content attribute.
content: string | uri | counter | attr(attrName) | open-quote | close-quote | no-open-quote | no-close-quote
Only the following value types or values are functional in Netcape 6: string, open-quote, close-quote, no-open-quote, and no-close-quote. The purpose of the "no" quote types is to let you specify the effect of a quote (as far as quote nesting goes) without displaying a quote symbol. Multiple space-delimited strings may follow the content: attribute name.
Another value (counter) is not yet supported by browsers, but its potential is significant for documents that would benefit from client-side section number generation. A CSS counter offers a way for a style sheet to control numbering schemes for sequences of elements (such as sections, illustrations, and the like). The assumption is that the numbering is not part of the actual content, but is determined solely by the rendered context of the element within the document. Therefore, if you remove a numbered paragraph from a document in the edit phase, the paragraph numbering of the document adjusts itself automatically when the page is rendered.
The basic operation of a counter entails assigning an identifier to it (thus allowing multiple counters to exist in the same document, such as one for sections, another for subsections). Other CSS attributes (counter-increment and counter-reset) require values that point to an identified counter to control the numbering sequence. The following style sheet rule inserts a section label and number in front of every h1 element, and increments the counter number each time the style is applied to an h1 element while the document renders:
h1:before {counter-increment:secNum;
content:"Section " counter(secNum) ". "}
When counters are implemented in mainstream browsers, they will provide substantial power to highly structured, long documents.
"" (empty string)
All elements plus a :before and/or :after pseudo-element.
| counter-increment, counter-reset | NN n/a IE n/a CSS 2 |
| Inherited: No |
counter-increment: counterID [ posOrNegInteger ] | none counter-reset: counterID [ posOrNegInteger ] | none
A counterID is an identifier assigned to a content:counter(counterID) style attribute. The optional integer value is space-delimited after the counterID. You can combine multiple counter IDs in the same style attribute by stringing together space-delimited pairs of ID and integer values.
none
All elements.
| cue | NN n/a IE n/a CSS 2 |
| Inherited: No |
If there are two values, the first is applied to the cue-before attribute and the second to the cue-after attribute. If there is only one value, the same auditory icon is applied to both cue-before and cue-after.
none
All elements.
| cue-after, cue-before | NN n/a IE n/a CSS 2 |
| Inherited: No |
cue-after: uri | none cue-before: uri | none
Any valid complete or relative URL (in CSS format) to a sound file in a MIME type supported by the browser. You may apply the same values to both attributes for the same style selector if it makes aural sense for the listener.
none
All elements.
| cursor | NN 6 IE 4 CSS 2 |
| Inherited: Yes |

A cursor type is one of the implemented cursor names. The following table shows which cursor types are supported by various browsers and the CSS standard.
|
Cursor name |
IE/Windows |
IE/Mac |
NN |
CSS |
|---|---|---|---|---|
|
alias |
n/a |
n/a |
6 |
n/a |
|
all-scroll |
6 |
n/a |
n/a |
n/a |
|
auto |
4 |
4 |
6 |
2 |
|
cell |
n/a |
n/a |
6 |
n/a |
|
col-resize |
6 |
n/a |
n/a |
n/a |
|
context-menu |
n/a |
n/a |
6 |
n/a |
|
copy |
n/a |
n/a |
6 |
n/a |
|
count-down |
n/a |
n/a |
6 |
n/a |
|
count-up |
n/a |
n/a |
6 |
n/a |
|
count-up-down |
n/a |
n/a |
6 |
n/a |
|
crosshair |
4 |
4 |
6 |
2 |
|
default |
4 |
4 |
6 |
2 |
|
e-resize |
4 |
4 |
6 |
2 |
|
grab |
n/a |
n/a |
6 |
n/a |
|
grabbing |
n/a |
n/a |
6 |
n/a |
|
hand |
4 |
4 |
n/a |
n/a |
|
help |
4 |
4 |
6 |
2 |
|
move |
4 |
4 |
6 |
2 |
|
n-resize |
4 |
4 |
6 |
2 |
|
ne-resize |
4 |
4 |
6 |
2 |
|
no-drop |
6 |
n/a |
n/a |
n/a |
|
not-allowed |
6 |
n/a |
n/a |
n/a |
|
nw-resize |
4 |
4 |
6 |
2 |
|
pointer |
4 |
4 |
6 |
2 |
|
progress |
6 |
n/a |
n/a |
n/a |
|
row-resize |
6 |
n/a |
n/a |
n/a |
|
s-resize |
4 |
4 |
6 |
2 |
|
se-resize |
4 |
4 |
6 |
2 |
|
spinning |
n/a |
n/a |
6 |
n/a |
|
sw-resize |
4 |
4 |
6 |
2 |
|
text |
4 |
4 |
6 |
2 |
|
url(uri) |
6 |
n/a |
n/a |
2 |
|
vertical-text |
6 |
n/a |
n/a |
n/a |
|
w-resize |
4 |
4 |
6 |
2 |
|
wait |
4 |
4 |
6 |
2 |
Notice that IE 6 for Windows implements downloadable cursors. The IE 6 setting for an external URL requires an address of a cursor file of extension .cur or .ani (which you create with a graphics utility that creates Windows cursors).
auto
All elements.
| direction | NN 6 IE 5 CSS 2 |
| Inherited: Yes |
Either of two directional constants. The value ltr stands for left-to-right; rtl stands for right-to-left.
ltr
All elements.
| display | NN 4 IE 4 CSS 1 |
| Inherited: No |
Perhaps the most frequently used aspect of the display style attribute in DHTML is setting the scripts to toggle between showing and completely hiding the element and its space. When the attribute is set to none, the element is hidden from view, and all surrounding content cinches up to occupy whatever space the element would normally occupy. This is different from the visibility attribute, which reserves space for the element while hiding it from view. But to redisplay the item to its default display mode, you can assign one of the common display types (block and inline) or the more specific type associated with the element (such as list-item for an li element), if supported by your target browsers.
The CSS specification identifies many display types, but browser support is more limited. The following table shows the supported types.
|
Display type |
IE/Windows |
IE/Mac |
NN |
CSS |
|---|---|---|---|---|
|
block |
5 |
4 |
6 |
2 |
|
compact |
n/a |
n/a |
n/a |
2 |
|
inline |
5 |
4 |
6 |
2 |
|
inline-block |
5.5 |
n/a |
n/a |
n/a |
|
inline-table |
n/a |
5 |
n/a |
2 |
|
list-item |
5 |
5 |
6 |
2 |
|
marker |
n/a |
n/a |
n/a |
2 |
|
none |
4 |
4 |
6 |
2 |
|
run-in |
n/a |
5 |
n/a |
2 |
|
table |
n/a |
5 |
6 |
2 |
|
table-caption |
n/a |
5 |
n/a |
2 |
|
table-cell |
n/a |
5 |
6 |
2 |
|
table-column-group |
n/a |
5 |
n/a |
2 |
|
table-footer-group |
5.5 |
5 |
6 |
2 |
|
table-header-group |
5 |
5 |
6 |
2 |
|
table-row |
n/a |
5 |
6 |
2 |
|
table-row-group |
n/a |
5 |
6 |
2 |
Element-dependent.
All elements (but some display types are applicable to specific elements).
| elevation | NN n/a IE n/a CSS 2 |
| Inherited: Yes |
Your choice of a specific angle (in degrees) or one of the five constant values. An angle value is any value in the range of -90 to +90 (inclusive) plus the letters "deg", as in 90deg. The value 0deg is at the same vertical level as the listener's ear. To set the angle above level, the value must be a positive value (45deg); below level requires a negative value (-45deg). Optionally, you can choose an angleConstant value from a library of descriptions that correspond to fixed points above and below level.
|
Value |
Equals |
|---|---|
| above |
90deg (directly overhead) |
| below |
-90deg (directly beneath) |
| higher |
+10 degrees from current |
| level |
0deg (at listener's ear level) |
| lower |
-10 degrees from current |
In combination with the azimuth attribute, you can place a sound at any point around a spherical surround-sound stage.
level
h1 {elevation: -45deg}
p.heavenly {elevation: above}
All elements.
| empty-cells | NN 6 IE n/a CSS 2 |
| Inherited: Yes |
One of two constants: show | hide .
The CSS specification calls for a default value of show, but Netscape 6 renders as if the default is hide when running in quirks mode (i.e., specifying older DTDs in the DOCTYPE element).
td elements.
| filter (old style) | NN n/a IE 4(Win) CSS n/a |
| Inherited: No |
filter: filterType1(paramName1=value1, paramName2=value2,...)
filterType2(paramName1=value1,...) ...
Each filter attribute may have more than one space-delimited filter type associated with it. Each filter type is followed by a pair of parentheses, which may convey parameters about the behavior of the filter for the current element. A parameter generally consists of a name/value pair, with assignment performed by the equals symbol. See the "Notes" section below for details on filterType values and parameters.
None.
body, button, img, input, marquee, table, td, textarea, tfoot, th, thead, tr, and absolute-positioned div and span elements.
First-generation filters (which continue to be supported at least through IE 6 for Windows) are divided into three broad categories: visual, reveal, and blend. Each category has its own parameter names. You can mix categories within a single filter attribute assignment and have quite a bit of fun experimenting with the combinations. Observe carefully the limitations about the elements to which you may assign filters.
The visual filters and their parameters are as follows:
The blend and reveal transition filters and parameters are as follows:
|
Value |
Transition type |
Value |
Transition type |
|---|---|---|---|
|
0 |
Box in |
12 |
Random dissolve |
| 1 |
Box out |
13 |
Split vertical in |
| 2 |
Circle in |
14 |
Split vertical out |
| 3 |
Circle out |
15 |
Split horizontal in |
| 4 |
Wipe up |
16 |
Split horizontal out |
| 5 |
Wipe down |
17 |
Strips left down |
| 6 |
Wipe right |
18 |
Strips left up |
| 7 |
Wipe left |
19 |
Strips right down |
| 8 |
Vertical blinds |
20 |
Strips right up |
| 9 |
Horizontal blinds |
21 |
Random bars horizontal |
| 10 |
Checkerboard across |
22 |
Random bars vertical |
| 11 |
Checkerboard down |
23 |
Random |
Both transition filters have a set of three methods: apply( ), play( ), and stop( ). Use apply( ) to freeze the element's display while you change the element's visibility or other visual attribute; then invoke the play( ) method on the filter to let the transition be seen by the user:
document.getElementById("myImg").filters["revealTrans"].apply( );
document.getElementById("myImg").src = "newPix.jpg";
document.getElementById("myImg").filters["revealTrans"].play( );
A style sheet rule for the element may have been set to the following:
img {filter:revealTrans(transition=2, duration=3)}When the script statements execute, the change from one image to another occurs through a "circle in" reveal transition.
| filter (new style) | NN n/a IE 5.5(Win) CSS n/a |
| Inherited: No |
filter:progid:DXImageTransform.Microsoft.filterType1(paramName1=value1, paramName2=value2,...) progid:DXImageTransform.Microsoft.filterType2(paramName1=value1,...) ...
Each filter type must be preceded by the reference to the ActiveX control (progid:DXImageTransform.Microsoft.), and multiple filter types for a single filter style attribute are space delimited. Each filter type is followed by a pair of parentheses, which may convey parameters about the behavior of the filter for the current element. A parameter generally consists of a name/value pair, with assignment performed by the equals symbol. Filter types that control transitions also have methods that scripts invoke to freeze the display while some visible attribute of the element changes (also under script control) and then play the transition. (See the "Notes" section below for information about filterType values and parameters.
None.
.fastStuff {filter:progid:DXImageTransform.Microsoft.MotionBlur(add=1,
direction=225)}
All elements.
[window.]document.getElementById("elementID").filters[
"DXImageTransform.Microsoft.filterName"]
Documenting in detail ActiveX controls that work only on Windows versions of Internet Explorer exceeds the scope of this book. But by way of introduction to what the new filter scheme offers in IE 5.5 and later, the following table lists the static and trasition filters available in the DXImageTransform ActiveX control, along with descriptions of what they do. For specific details of attributes that go into style sheet rules, as well as the scriptable properties and methods available to each filter, visit http://msdn.microsoft.com/workshop/author/filter/filters.asp.
|
Filter name |
Type |
Description |
|---|---|---|
|
Alpha( ) |
static |
Controls transparency level (opacity) |
|
Barn( ) |
transition |
A barn-door transition effect, with properties for speed, motion, and orientation |
|
BasicImage( ) |
static |
Sets a variety of filter styles (mirror, opacity, grayscale, etc.) for all kinds of elements, but under script control can also rotate the element and alter its color mask |
|
Blinds( ) |
transition |
A venetian-blind transition effect, with properties for direction and thickness of the slats |
|
Blur( ) |
static |
Controls the fuzziness of the element |
|
Checkerboard( ) |
transition |
A checkboard transition effect with properties for direction, speed, and square sizes |
|
Chroma( ) |
static |
Controls the transparency of a specific color |
|
Compositor( ) |
static |
Combines color filter effects |
|
DropShadow( ) |
static |
Creates an offset shadow for apparent depth, with properties for color, and depth of shadow |
|
Emboss( ) |
static |
Controls an embossed texture effect |
|
Engrave( ) |
static |
Controls an engraved texture effect |
|
Fade( ) |
transition |
A blended transition between views, with properties for speed and the degree of overlap of both views |
|
Glow( ) |
static |
Controls radiance of outer edges |
|
Gradiant( ) |
statics |
Applies a colored gradient texture on the element's background |
|
GradientWipe( ) |
transition |
A wipe transition using a gradient blend at the wipe line, with properties for speed, thickness of the gradient, and direction |
|
ICMFilter( ) |
static |
Applies an external Image Color Management profile to the element |
|
Inset( ) |
transition |
A wipe transition that works along horizontal and vertical axes, but diagonally from one corner to its opposite |
|
Iris( ) |
transition |
A zoom-style transition with properties for speed, direction (in or out), and iris shape (e.g., circle, cross, diamond, plus, square, star) |
|
Light( ) |
static |
Controlled exclusively through scripts, adds effect of light source directed at the element |
|
MaskFilter( ) |
static |
Overlays a transparent mask for a color |
|
Matrix( ) |
static |
Control rotation, flipping, and scaling of element |
|
MotionBlur( ) |
static |
Simulates motion via artificial blurring |
|
Pixelate( ) |
transition |
Blends between views via an expansion/contraction and blurring/focusing of the content |
|
RadialWipe( ) |
transition |
Blends between views via your choice of styles (clock, wedge, radial) |
|
RandomBars( ) |
transition |
Blends between views via expanding/contracting bars, with properties for orientation and speed |
|
RandomDissolve( ) |
transition |
Blends between views through random pixel changes |
|
Shadow( ) |
static |
Displays element content as a silhouette |
|
Slide( ) |
transition |
Blends between views through banded sliding of various types |
|
Spiral( ) |
transition |
Blends between views through spiral reveals |
|
Stretch( ) |
transition |
Blends between views through various stretch-style reveals |
|
Strips( ) |
transition |
Blends between views with striped effect |
|
Wave( ) |
static |
Adds sine-wave distortion to the element |
|
Wheel( ) |
transition |
Blends between views via wheel spokes emanating from the element center |
|
ZigZag( ) |
transition |
Blends between views via removal of rows of bricks |
Successful deployment of these filters, especially on complex content, requires extensive experimentation and testing to make sure that your combination doesn't crash the browser.
| float | NN 4 IE 4 CSS 1 |
| Inherited: No |
Due to the prior reservation of float as a keyword in JavaScript, the attribute name is not available as a style object property name in object models that use JavaScript. Internet Explorer adopted the styleFloat property name; the W3C DOM and Netscape 6 use cssFloat.
An alignmentSide is one of the following constants: left | right.
none
All elements except positioned elements (or generated content).
[window.]document.getElementById("elementID").style.styleFloat
[window.]document.getElementById("elementID").style.cssFloat
| font | NN 6 IE 4 CSS 1 |
| Inherited: Yes |
font: font-style || font-variant || font-weight || font-size[/line-height] || font-family | CSS2FontConstant
For syntax and examples of value types for font and line attributes, see the respective attribute listing. The construction with the forward slash before the line-height value allows the use of a second length value within the potentially long sequence of values for this attribute: the line-height length value must always accompany the required font-size value, separated by a forward slash.
The CSS2 font constants are as follows: caption | icon | menu | message-box | small-caption | status-bar. These constants refer to browser and operating system fonts used by the client. Their precise appearance is therefore different on different operating systems but consistent with the user's expectation for a particular type of font. In other words, these styles should be used when their function mirrors a system or browser function.
None.
body {font: 12px serif}
h2 {font: bolder small-caps 16px "Lucida Console", Arial, sans-serif}
.iconCaption {font: 10px/1.1em caption}
All elements.
| font-family | NN 4 IE 4 CSS 1 |
| Inherited: Yes |
A font family may consist of multiple font definitions. For example, a Helvetica font family may also include a bold version and an italic version—genuinely distinct fonts rather than the approximated versions of bold and italic. When you specify a font family by name, the browser looks into the client's system to see if there is a font available by that name. If not, the browser looks to the next font family name in the list. Therefore, it is wise to include font family names in a sequence that goes from the most esoteric to the most generic. The final font family name should be the generic family (serif, sans-serif, cursive, fantasy, or monospace) that most closely resembles the desired font. Many fonts that are widely installed on one operating system may not be as popular on another operating system.
Browsers following the CSS2 specification should also be smart enough to recognize Unicode character codes and try to match them with named font families that cater to particular languages. Ideally, this will allow a browser to mix fonts from different languages and writing systems in the same element, provided each font-family is listed in the attribute value.
Any number of font family names, comma delimited. Multiword family names must be quoted. Recognized generic family names are: serif | sans-serif | cursive | fantasy | monospace.
Browser default.
All elements.
Internet Explorer provide facilities for downloading font definition files for a browser that doesn't have a special font that the page designer wants for the page. The font definition files must be created by the author using browser-specific font conversion tools. An @font-face style sheet rule downloads the font definition file and associates that font description with an arbitrary font family name:
@font-face {font-family:Neato; src: url(http://www.giantco.com/fonts/neato.eot}See Section 11.3 earlier in this chapter for details on deploying this type of style rule. You then specify the font in regular font-family style attributes. If the font has yet to download, the browser displays the page in another font until the downloadable font has arrived. At that point, the page is reflowed with the downloaded font.
| font-size | NN 4 IE 4 CSS 1 |
| Inherited: Yes |


Another collection of constants (larger, smaller) are known as relative sizes. Because the font-size attribute is inherited from the parent element, these relative sizes are applied to the parent element to determine the font size of the current element. It is up to the browser to determine exactly how much larger or smaller the font size is, and a lot depends on how the parent element's font size is set. If it is set with one of the absolute sizes (large, for example), a child's font size of larger means that the font is rendered in the browser's x-large size. The increments are not as clear cut when the parent font size is set with a length or percentage.
If you elect to use a length value for the font-size attribute, choose a unit that makes the most sense for fonts rendered on the output medium, such as pixels (px) for screen display and points (pt) or ems (em) for printed output. Em values are calculated relative to the size of the parent element's font size. Finally, you can set the font-size to a percentage, which is calculated based on the size of the parent element's font size.
Some browsers hijack your best efforts at precisely sizing fonts, using their own (or user) settings to establish a "medium" size. That is why many designers prefer to rely on the relative-size constants for their font-size specification schemes. This choice means giving up a level of control over rendering from one browser and operating system to the next, but attempting too strict control on uniform rendering generally leads to utter frustration.
For an absolute size, one of the following constants: xx-small | x-small | small | medium | large | x-large | xx-large. For a relative size, one of the following constants: larger | smaller. For a length, see the discussion about length values at the beginning of this chapter. For a percentage, the percentage value and the % symbol.
medium (for BODY element); the parent element's font-size value (for all others).
body {font-size: 14pt}
p.teeny {font-size: x-small}
em {font-size: larger}
span.larger {font-size: 150%}
All elements.
| font-size-adjust | NN n/a IE n/a CSS 2 |
| Inherited: Yes |
A number representing the aspect value of the preferred font (perhaps obtainable from the font maker) or none.
none
All elements.
| font-stretch | NN n/a IE n/a CSS 2 |
| Inherited: Yes |
For an absolute size, one of the following constants: ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | extra-expanded | ultra-expanded. For a relative size, one of the following constants: narrower | wider.
normal
All elements.
| font-style | NN 4 IE 4 CSS 1 |
| Inherited: Yes |
One of the following constants: normal | italic | oblique. Browsers tend to treat italic and oblique settings the same.