The CSS border-style property is used to specify the style of the border of an HTML element.
The possible values for this property are:
- none: no border is visible.
- solid: a solid border. This is the default value.
- dotted: a dotted border.
- dashed: a dashed border.
- double: a double border. The width of the border is determined by the border-width property.
- groove: a 3D grooved border. The effect depends on the border color value.
- ridge: a 3D ridged border. The effect depends on the border color value.
- inset: a 3D inset border. The effect depends on the border color value.
- outset: a 3D outset border. The effect depends on the border color value.
To use these values, you can set the border-style property in CSS, like so:
selector {
border-style: solid;
}
You can also set the border-style property for specific sides of an element using the following longhand properties: border-top-style, border-right-style, border-bottom-style, and border-left-style.
selector {
border-top-style: dotted;
border-right-style: dashed;
border-bottom-style: solid;
border-left-style: double;
}
You can use the shorthand property border to set the border-style, border-width, and border-color properties all at once.
selector {
border: solid 2px black;
}
Examples
Here are some examples of the border-style values in action:
/* None */
.none {
border-style: none;
}
/* Solid */
.solid {
border-style: solid;
}
/* Dotted */
.dotted {
border-style: dotted;
}
/* Dashed */
.dashed {
border-style: dashed;
}
/* Double */
.double {
border-style: double;
}
/* Groove */
.groove {
border-style: groove;
}
/* Ridge */
.ridge {
border-style: ridge;
}
/* Inset */
.inset {
border-style: inset;
}
/* Outset */
.outset {
border-style: outset;
}
It’s important to notice that the values groove, ridge, inset and outset will depend on the color of the border as well, for example:
.groove {
border-style: groove;
border-color: blue;
}
It will have different results than:
.groove {
border-style: groove;
border-color: red;
}
You can also play around with the border-width property to see how it affects the border.
.solid {
border-style: solid;
border-width: 3px;
}
Also, you can use the shorthand property border to set the border-style, border-width, and border-color properties all at once.
.solid {
border: solid 2px black;
}
You can see the result by applying this CSS to some HTML elements and see the differences.
CSS border-width
The CSS border-width property is used to specify the width of the border of an HTML element.
You can set the border-width property in CSS using length values (e.g. px, em, rem), percentage values, or one of the following keywords:
- thin
- medium (default value)
- thick
Here are some examples of how you can use the border-width property:
/* Using length values */
.length {
border-width: 5px; /* sets the border width to 5 pixels */
}
/* Using percentage values */
.percentage {
border-width: 10%; /* sets the border width to 10% of the element's width */
}
/* Using keywords */
.keywords {
border-width: thin; /* sets the border width to the browser's default thin value */
}
You can also set the border-width property for specific sides of an element using the following longhand properties: border-top-width, border-right-width, border-bottom-width, and border-left-width.
/* Using length values for specific sides of the element */
.length-sides {
border-top-width: 2px;
border-right-width: 4px;
border-bottom-width: 6px;
border-left-width: 8px;
}
You can also use the shorthand property border to set the border-style, border-width, and border-color properties all at once.
/* Shorthand property */
.solid {
border: solid 2px black;
}
Keep in mind that the border-width property requires that a border-style be set, otherwise the width setting will have no effect.
CSS border-color
The CSS border-color property is used to specify the color of the border of an HTML element.
You can set the border-color property in CSS using any valid CSS color value, such as:
- a named color (e.g. red, blue, green)
- a hexadecimal value (e.g. #ff0000, #0000ff, #00ff00)
- an RGB or RGBA value (e.g. rgb(255, 0, 0), rgba(0, 0, 255, 0.5))
Here are some examples of how you can use the border-color property:
/* Using named color */
.named {
border-color: red;
}
/* Using hexadecimal value */
.hex {
border-color: #ff0000;
}
/* Using RGB value */
.rgb {
border-color: rgb(0, 0, 255);
}
/* Using RGBA value */
.rgba {
border-color: rgba(255, 0, 0, 0.5);
}
You can also set the border-color property for specific sides of an element using the following longhand properties: border-top-color, border-right-color, border-bottom-color, and border-left-color.
/* Using different color for each side of the element */
.color-sides {
border-top-color: blue;
border-right-color: green;
border-bottom-color: yellow;
border-left-color: purple;
}
You can also use the shorthand property border to set the border-style, border-width, and border-color properties all at once.
/* Shorthand property */
.solid {
border: solid 2px black;
}
It’s important to notice that the values groove, ridge, inset and outset for the border-style property will depend on the color of the border as well.
Also, keep in mind that if you set a border color without setting a border style, the color will have no effect.