Cascading Style Sheet (CSS)

CSS Borders

The border property is a shorthand for all the border properties. It defines the color, width and style for all the four sides of an element's border.

Syntax:

border: border-width border-style border-color

Above mentioned is the most commonly used border property format to add borders to your HTML elements. Like we did to this paragraph.

Example:

#red-border {
    border: 1px solid red;
}

But border can be implemented using the properties individually as well. Let's learn about these 3 border properties and how to use them.


Border Style border-style

This property is used to set a border around an element. There are multiple border styles supported like:

  • dashed
  • dotted
  • double
  • groove
  • hidden
  • inset
  • none
  • outset
  • ridge
  • solid

This is dashed border

This is dotted border

This is groove border

Example:

#dashed-border {
    border-style: dashed;
}
#dotted-border {
    border-style: dotted;
}
#groove-border {
    border-style: groove;
}

Live Example →


Border Width border-width

This property sets border width in numeric values or by named values of thin, medium or thick. Width of the border can also be adjusted using the independent property border-width

This is a thick dashed border

Example

#dashed-border {
    border-style: dashed;
    border-width: 6px;
}

Live Example →


Border Color border-color:

This property sets the color of the border using a color value. Color value can be a Hexa code, RGB value or a valid color name.

This is a thick dashed red border

Example

#dashed-border {
    border-style: dashed;
    border-width: 6px;
    border-color: red;
}

Live Example →

We can also provide, 4 different color in one border-color rule, to set different color for all 4 sides of the border.

This is a thick dashed colorful border

Example

#dashed-border {
    border-style: dashed;
    border-width: 6px;
    border-color: red blue green yellow;
}

Live Example →

4 different color values, for top, right, bottom and left, in the same order. If you provide 2 different color names, then the first color will be set for top and bottom border and the second color will be set for left and right. Go try it!

This is compatible with CSS1, CSS2 and CSS3 along with following Web Browsers,

  • IE 4+
  • Firefox 1+
  • Opera 3.5+
  • Safari 1+
  • Chrome 1+

border-collapse

This property determines whether table cells are connected or separate.

Syntax:

border-collapse: collapse | separate | inherit

The default value is separate, each cell has a border with some spacing. If it is set to collapse, there is just one border for the whole element.

This property is mostly used to style a <table>.



border-spacing

This property defines the spacing between the cells in a table. Again, this property is also used with tables in HTML.

Syntax:

border-spacing: non-negative length | inherit

If one length is mentioned, it gives both horizontal and vertical spacing. If explicitly two values are defined, the first value gives horizontal spacing while the second value gives the vertical spacing.


Setting Border on One Side

As we have learned above, we can easily set border around an element using border-style property, change the thickness of the border using the border-width property and give it a color using the border-color property.

Now, we can also use these three properties to set border on any one side as well. All we have to do is append the name of the side in between:

For example: To add border just at the bottom, use the properties border-bottom-style, border-bottom-width, border-bottom-color

I have a dotted border just at the bottom

Example

#dashed-border {
    border-bottom-style: dotted;
    border-bottom-width: 4px;
    border-bottom-color: blue;
}

Live Example →

and the same can be written in a shorthand way as follows:

border-bottom: dotted 4px blue

Similar to border-bottom, border properties can be set individually for top, right and left. For setting the top border, you can use

  • border-top (shorthand)
  • border-top-width
  • border-top-style
  • border-top-color

For setting the right border, you can use

  • border-right (shorthand)
  • border-right-width
  • border-right-style
  • border-right-color

For setting the left border, you can use

  • border-left (shorthand)
  • border-left-width
  • border-left-style
  • border-left-color

Phew! That's a lot of properties. But practice makes a man perfect. Next up is Tables! Good Luck!