40 CSS3 Border Images
WEB DEVELOPER SITE
HTMLCSSJAVASCRIPTSQLPHPBOOTSTRAPJQUERYANGULARXML
 

CSS3 Border Images


CSS3 Border Images

With the CSS3 border-image property, you can set an image to be used as the border around an element.


Browser Support

The numbers in the table specify the first browser version that fully supports the property.

Numbers followed by -webkit-, -moz-, or -o- specify the first version that worked with a prefix.

Property
border-image 16.0
4.0 -webkit-
12.0 11.0 15.0
3.5 -moz-
6.0
3.1 -webkit-
15.0
11.0 -o-

CSS3 border-image Property

The CSS3 border-image property allows you to specify an image to be used instead of the normal border around an element.

The property has three parts:

  1. The image to use as the border
  2. Where to slice the image
  3. Define whether the middle sections should be repeated or stretched

We will use the following image (called "borders.png"):

Border

The border-image property takes the image and slices it into nine sections, like a tic-tac-toe board. It then places the corners at the corners, and the middle sections are repeated or stretched as you specify.

Note: For border-image to work, the element also needs the border property set!

Here, the middle sections of the image are repeated to create the border:

An image as a border!

Here is the code:

Example

#borderimg {
    border: 10px solid transparent;
    padding: 15px;
    -webkit-border-image: url(borders.png) 40 round; /* Safari 3.1-5 */
    -o-border-image: url(borders.png) 40 round; /* Opera 11-12.1 */
    border-image: url(borders.png) 40 round;
}
Try it yourself »

Here, the middle sections of the image are stretched to create the border:

An image as a border!

Here is the code:

Example

#borderimg {
    border: 10px solid transparent;
    padding: 15px;
    -webkit-border-image: url(borders.png) 40 stretch; /* Safari 3.1-5 */
    -o-border-image: url(borders.png) 40 stretch; /* Opera 11-12.1 */
    border-image: url(borders.png) 40 stretch;
}
Try it yourself »

CSS3 border-image - Different Slice Values

Different slice values completely changes the look of the border:

Example 1:

border-image: url(borders.png) 50 round;

Example 2:

border-image: url(borders.png) 25% round;

Example 3:

border-image: url(borders.png) 40% round;

Here is the code:

Example

#borderimg1 {
    border: 10px solid transparent;
    padding: 15px;
    -webkit-border-image: url(borders.png) 50 round; /* Safari 3.1-5 */
    -o-border-image: url(borders.png) 50 round; /* Opera 11-12.1 */
    border-image: url(borders.png) 50 round;
}

#borderimg2 {
    border: 10px solid transparent;
    padding: 15px;
    -webkit-border-image: url(borders.png) 25% round; /* Safari 3.1-5 */
    -o-border-image: url(borders.png) 25% round; /* Opera 11-12.1 */
    border-image: url(borders.png) 25% round;
}

#borderimg3 {
    border: 10px solid transparent;
    padding: 15px;
    -webkit-border-image: url(borders.png) 40% round; /* Safari 3.1-5 */
    -o-border-image: url(borders.png) 40% round; /* Opera 11-12.1 */
    border-image: url(borders.png) 40% round;
}
Try it yourself »