Contents
Value: | [ [<uri> ,]* [ auto | crosshair | default | pointer | move | e-resize | ne-resize | nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize| text | wait | help | progress ] ] | inherit |
Initial: | auto |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
Media: | visual, interactive |
Computed value: | absolute URI; otherwise as specified |
This property specifies the type of cursor to be displayed for the pointing device. Values have the following meanings:
P:link,:visited {cursor:url("mything.cur"),url("second.csr"),text;cursor: url(example.svg#linkcursor), url(hyper.cur), pointer }
This example sets the cursor on all hyperlinks (whether visited or not) to an external SVG cursor. User agents that don't support SVG cursors would simply skip to the next value and attempt to use the "hyper.cur" cursor. If that cursor format was also not supported, the UA would skip to the next value and simply render the 'pointer' cursor.
In addition to being able to assign pre-defined color values to text, backgrounds,
etc., CSS2CSS 2.1 allows authors to specify colors in a manner that
integrates them into the user's graphic environment. Style rules that
take into account user preferences thus offer the following
advantages:
The set of values defined for system colors is intended to be exhaustive.For systems that do not have a corresponding value, the
specified value should be mapped to the nearest system attribute, or
to a default color.
The following lists additional values for color-related CSS attributes and their general meaning. Any color property (e.g., 'color' or 'background-color') can take one of the following names. Although these are case-insensitive, it is recommended that the mixed capitalization shown below be used, to make the names more legible.
For example, to set the foreground and background colors of a paragraph to the same foreground and background colors of the user's window, write the following:
p { color: WindowText; background-color: Window }
As for colors, authors may specify fonts in a way that makes use of a user's system resources. Please consult the 'font' property for details.
At times, style sheet authors may want to create outlines around
visual objects such as buttons, active form fields, image maps, etc.,
to make them stand out. CSS2CSS 2.1 outlines differ from borders in the following
ways:
The outline properties control the style of these dynamic outlines.
Value: | [ |
Initial: | see individual properties |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual, interactive |
Computed value: | see individual properties |
Value: | <border-width> | inherit |
Initial: | medium |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual, interactive |
Computed value: | absolute length; '0' if the outline style is 'none' or 'hidden' |
Value: | <border-style> | inherit |
Initial: | none |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual, interactive |
Computed value: | as specified |
Value: | <color> | invert | inherit |
Initial: | invert |
Applies to: | all elements |
Inherited: | no |
Percentages: | N/A |
Media: | visual, interactive |
Computed value: | as specified |
The outline created with the outline properties is drawn "over" a box, i.e., the outline is always on top, and doesn't influence the position or size of the box, or of any other boxes. Therefore, displaying or suppressing outlines does not cause reflow.
The outline ismay be drawn starting just outside the border edge.
Outlines may be non-rectangular. For example, if the element is
broken across several lines, the outline is the minimum outline that
encloses all the element's boxes. In contrast to borders, the outline is not
open at the line box's end or start, but is always fully connected.connected if possible.
The 'outline-width' property accepts the same values as 'border-width'.
The 'outline-style' property accepts the same values as 'border-style', except that 'hidden' is not a legal outline style.
The 'outline-color' accepts all colors, as well as the keyword 'invert'. 'Invert' is expected to perform a color inversion on the pixels on the screen. This is a common trick to ensure the focus border is visible, regardless of color background.
Conformant UAs may ignore the 'invert' value. If UA does not support the 'invert' value then the initial value of the 'outline-color' property is defined to be UA-specific.
The 'outline' property is a shorthand property, and sets all three of 'outline-style', 'outline-width', and 'outline-color'.
Note that the outline is the same on all sides. In contrast to borders, there is no 'outline-top' or 'outline-left' property.
This specification does not define how multiple overlapping outlines are drawn, or how outlines are drawn for boxes that are partially obscured behind other elements.
Note. Since the focus outline does not affect formatting (i.e., no space is left for it in the box model), it may well overlap other elements on the page.
Here's an example of drawing a thick outline around a BUTTON element:
button { outline-width : thick }
Scripts may be used to dynamically change the width of the outline, without provoking a reflow.
Graphical user interfaces may use outlines around elements to tell the user which element on the page has the focus. These outlines are in addition to any borders, and switching outlines on and off should not cause the document to reflow. The focus is the subject of user interaction in a document (e.g., for entering text, selecting a button, etc.). User agents supporting the interactive media group must keep track of where the focus lies and must also represent the focus. This may be done by using dynamic outlines in conjunction with the :focus pseudo-class.
For example, to draw a thick black line around an element when it has the focus, and a thick red line when it is active, the following rules can be used:
:focus { outline: thick solid black } :active { outline: thick solid red }
The CSS working group considers that the magnification of a document or portions of a document should not be specified through style sheets. User agents may support such magnification in different ways (e.g., larger images, louder sounds, etc.)
When magnifying a page, UAs should preserve the relationships between positioned elements. For example, a comic strip may be composed of images with overlaid text elements. When magnifying this page, a user agent should keep the text within the comic strip balloon.