outline property is a shorthand property to specify all outline properties.
Unlike an element's border (e.g. set using
border or its associated properties), an element's outline does not take up extra space and it can be non-rectangular.
The outline is always on top of a box, and it does not influence the position or size of the box, or of any other boxes. Therefore, displaying or suppressing outlines does not cause reflow or overflow.
User agents typically render an outline on elements in the
These values are explained below.
outline-colorproperty. This can be any valid color value, or the
outline-styleproperty. This can be any of the above values.
outline-widthproperty. This can be a non-negative length value, or any of the
In addition, all CSS properties also accept the following CSS-wide keyword values as the sole component of their property value:
- Represents the value specified as the property's initial value.
- Represents the computed value of the property on the element's parent.
- This value acts as either
initial, depending on whether the property is inherited or not. In other words, it sets all properties to their parent value if they are inheritable or to their initial value if not inheritable.
- Initial Value
- Depends on the value of the individual properties (i.e.
outline-color). The initial value for these properties is as follows:
- Applies To
- All elements
- Yes (see example)
The CSS spec warns against removing the outline on elements in the
Keyboard users, in particular people with disabilities who may not be able to interact with the page in any other fashion, depend on the outline being visible on elements in the
:focusstate, thus authors must not make the outline invisible on such elements without making sure an alternative highlighting mechanism is provided.