W3docs

CSS border-style Property

This CSS property will help you to set the style of all four side elements of the border. Learn more about its values and see examples.

CSS border-style property sets the style of all four sides of an element’s borders. It is a shorthand property for defining the border-top-style, border-bottom-style, border-left-style, border-right-style.

This property takes from one to four values. So each side can have its own value.

The default value of border-style is none. Borders are put on top of the element’s background.

You also need to know that some browsers do not support some styles. Usually, when a style is not supported, the browser draws the border as a solid one.

The border-style property is defined using one, two, three, or four values. When one value is defined, it applies the same style to all four sides. When two values are defined, the first style applies to the top and bottom sides, the second to the left and right sides. When three values are specified, the first style applies to the top, the second to the left and right, the third to the bottom side. When four values are specified, the styles apply to the top, right, bottom, and left, like a clockwise order.

Initial Valuenone
Applies toAll elements. It also applies to ::first-letter.
InheritedNo.
AnimatableNo.
VersionCSS1
DOM Syntaxobject.style.borderStyle = "dotted double";

Syntax

Syntax of CSS border-style Property

border-style: none |hidden | dotted | dashed | solid | double | groove | ridge | inset | outset | initial |inherit;

Example of the border-style property:

Example of CSS border-style Property with dotted value

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        border-style: dotted;
        padding: 5px;
      }
    </style>
  </head>
  <body>
    <p> Example of dotted border-style.</p>
  </body>
</html>

Example of the border-style property where each side has its own value:

Example of CSS border-style Property with double, solid, dashed and dotted values

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        border-width: 4px;
        border-style: double solid dashed dotted;
        border-color: #1c87c9;
        color: #8ebf42;
        padding: 5px;
      }
    </style>
  </head>
  <body>
    <p>Example, where each side has own value.</p>
  </body>
</html>

Result

CSS border-style Property

Example of the border-style property with all the values:

Example of CSS border-style Property with hidden, double, solid, dashed ,dotted, groove,ridge, inset and outset values

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      body {
        background: #eee;
        font-size: 20px;
        text-align: center;
      }
      main div {
        display: flex;
        align-items: center;
        justify-content: center;
        color: black;
        padding-top: 30px;
        padding-bottom: 30px;
        width: 200px;
        height: 100px;
        margin: 15px;
        font-weight: bold;
        background-color: #c9c5c5;
        border: 8px solid #1c87c9;
      }
      .flex-center {
        display: flex;
        justify-content: center;
      }
      /* border-style example classes */
      .b1 {
        border-style: hidden;
      }
      .b2 {
        border-style: dotted;
      }
      .b3 {
        border-style: dashed;
      }
      .b4 {
        border-style: solid;
      }
      .b5 {
        border-style: double;
      }
      .b6 {
        border-style: groove;
      }
      .b7 {
        border-style: ridge;
      }
      .b8 {
        border-style: inset;
      }
      .b9 {
        border-style: outset;
      }
    </style>
  </head>
  <body>
    <h1>Border-style value examples</h1>
    <main class="flex-center">
      <div class="b1">
        hidden
      </div>
      <div class="b2">
        dotted
      </div>
      <div class="b3">
        dashed
      </div>
    </main>
    <main class="flex-center">
      <div class="b4">
        solid
      </div>
      <div class="b5">
        double
      </div>
      <div class="b6">
        groove
      </div>
    </main>
    <main class="flex-center">
      <div class="b7">
        ridge
      </div>
      <div class="b8">
        inset
      </div>
      <div class="b9">
        outset
      </div>
    </main>
  </body>
</html>

Values

ValueDescriptionPlay it
noneWill show no border. Default value.Play it »
hiddenThe same as "none", except in border conflict resolution for table elements.Play it »
dottedThe border is specified as a series of dots.Play it »
dashedThe border is specified as a series of dashes.Play it »
solidThe border is specified as a solid lines.Play it »
doubleThe border is specified as a double solid lines.Play it »
grooveIt’s a 3D grooved border and gives the impression that the border is carved. Opposite of ridge.Play it »
ridgeSpecifies a 3D ridged border and gives the impression of extruded appearance. Opposite of groove.Play it »
insetIt’s a 3D effect that make impression that the element appear embedded. Opposite of outset.Play it »
outsetIt’s a 3D effect that make impression that the element appear embossed. Opposite of inset.Play it »
initialSets the property to its default value.Play it »
inheritInherits the property from its parent element.

Practice

Practice

What are the different types of border styles available in CSS according to w3docs.com?