CSS Property: border

The border property in CSS lets you specify the style, width, and color of an element’s border. It’s like the icing on a cake, providing a neat and polished finish to your design. With this property, you can customize borders to match your aesthetic preferences and create visual separation between different sections of your webpage.


The syntax for the border property is fairly straightforward. You can set it using the shorthand notation or individually define the border style, width, and color. Let’s take a look at an example:

1 .element {
2 border: 2px solid #000;
3 }

In this example, we’ve set a border with a width of 2 pixels, a solid line style, and a color of black (#000). By default, the border property sets the border style to none, the width to medium, and the color to the current text color. It applies to most elements, including block-level and inline-level ones. However, keep in mind that some elements, like images and form controls, have a predefined border styling.

The border property is not inherited, meaning that it won’t be passed down to the element’s children. As for CSS animations, yes, you can animate the border property using keyframes and transitions, adding some delightful movement to your borders!


Play around with the separated border properties in this demo:

Border Styles

Now, let’s explore the various border styles you can achieve with the border property. Each style has its own unique charm and can be used to create different visual effects. We’ll cover the most commonly used styles and a couple of experimental ones (though they might not be widely supported yet).


The solid style creates a simple, continuous line that spans the border’s width. It’s like drawing a line with a marker pen. Check out the code snippet below to see it in action:

1 .element {
2 border: 1px solid #f00;
3 }


If you want a border that resembles a row of evenly spaced dots, the dotted style is perfect for you. It’s like connecting the dots with your pencil. Here’s an example:

1 .element {
2 border: 2px dotted #00f;
3 }


With the dashed style, you can achieve a border made up of short dashes. It’s like creating a trail of footprints across the border. Give it a try:

1 .element {
2 border: 3px dashed #0f0;
3 }


The double style creates a border with two parallel lines. It’s like having a fence with two layers of wires. Take a look at this example:

1 .element {
2 border: 4px double #f90;
3 }


The groove style gives the border a three-dimensional appearance, making it look like a carved groove. It’s like adding depth to your design. Here’s how you can use it:

1 .element {
2 border: 5px groove #909;
3 }

Additional Values

There are a few additional border styles that you may want to try:

  • ridge: Creates a border that appears raised.
  • inset: Creates a border that appears embedded.
  • outset: Creates a border that appears raised and embossed.

Learn More

Did you know that you can apply different border styles to each side of an element using the border-top, border-right, border-bottom, and border-left properties? This allows you to create unique border combinations and add depth to your designs. Feel free to explore this technique and unleash your creativity!

“Borders are like the frame of a painting, enhancing and showcasing the content within. Don’t underestimate the power of well-crafted borders to elevate your designs.” – Lea Verou

Relevant Tutorials

To further enhance your understanding of the border property and its applications, check out these useful tutorials:

  1. CSS Refreshers: Borders

Official Specification and Browser Compatibility

We hope this documentation has provided you with the knowledge and inspiration to create stunning border designs. Happy styling!