border
The border
shorthand CSS property sets an element's border. It sets the values of border-width
, border-style
, and border-color
.
Try it
Constituent properties
This property is a shorthand for the following CSS properties:
Syntax
/* style */
border: solid;
/* width | style */
border: 2px dotted;
/* style | color */
border: outset #f33;
/* width | style | color */
border: medium dashed green;
/* Global values */
border: inherit;
border: initial;
border: revert;
border: revert-layer;
border: unset;
The border
property may be specified using one, two, or three of the values listed below. The order of the values does not matter.
Note: The border will be invisible if its style is not defined. This is because the style defaults to none
.
Values
<line-width>
-
Sets the thickness of the border. Defaults to
medium
if absent. Seeborder-width
. <line-style>
-
Sets the style of the border. Defaults to
none
if absent. Seeborder-style
. <color>
-
Sets the color of the border. Defaults to
currentcolor
if absent. Seeborder-color
.
Description
As with all shorthand properties, any omitted sub-values will be set to their initial value. Importantly, border
cannot be used to specify a custom value for border-image
, but instead sets it to its initial value, i.e., none
.
The border
shorthand is especially useful when you want all four borders to be the same. To make them different from each other, however, you can use the longhand border-width
, border-style
, and border-color
properties, which accept different values for each side. Alternatively, you can target one border at a time with the physical (e.g., border-top
) and logical (e.g., border-block-start
) border properties.
Borders vs. outlines
Borders and outlines are very similar. However, outlines differ from borders in the following ways:
- Outlines never take up space, as they are drawn outside of an element's content.
- According to the spec, outlines don't have to be rectangular, although they usually are.
Formal definition
Initial value | as each of the properties of the shorthand:
|
---|---|
Applies to | all elements. It also applies to ::first-letter . |
Inherited | no |
Computed value | as each of the properties of the shorthand:
|
Animation type | as each of the properties of the shorthand:
|
Formal syntax
Examples
Setting a pink outset border
HTML
<div>I have a border, an outline, and a box shadow! Amazing, isn't it?</div>
CSS
div {
border: 0.5rem outset pink;
outline: 0.5rem solid khaki;
box-shadow: 0 0 0 2rem skyblue;
border-radius: 12px;
font: bold 1rem sans-serif;
margin: 2rem;
padding: 1rem;
outline-offset: 0.5rem;
}
Result
Specifications
Specification |
---|
CSS Backgrounds and Borders Module Level 3 # propdef-border |
Browser compatibility
BCD tables only load in the browser