CSS border-image
The border-image property is one of the properties introduced in CSS3 for the purposes of enabling images to be used on CSS borders.
The CSS border-image property is a shorthand property for setting multiple "border image" related properties in one place. This is an efficient way of adding images to your borders.
The border-image property sets the border-image-source, border-image-slice, border-image-width, border-image-outset, and border-image-repeat properties.
Note that setting an image border will override any border that has been specified using the border-style properties. However, if the image cannot be loaded, or if the border-image value is none, the border styles will be used instead.
Syntax
Possible Values
- <'border-image-source'>
- Specifies the location of the image. For more information, see the
border-image-sourceproperty. - <'border-image-slice'>
- Specifies inward offsets from the top, right, bottom, and left edges of the image, dividing it into nine regions: four corners, four edges and a middle. For more information, see the
border-image-sliceproperty. - <'border-image-width'>
- Specifies the width of the border image. This defines the border image area, which is the area used to draw the image. For more information, see the
border-image-widthproperty. - <'border-image-outset'>
- Specifies the amount by which the border image area extends beyond the border box. For more information, see the
border-image-outsetproperty. - <'border-image-repeat'>
- Specifies how the images for the middle part and sides of the border are scaled and tiled. The first keyword applies to the horizontal sides, the second to the vertical ones. If the second keyword is absent, it is assumed to be the same as the first. Values have the following meanings:
stretch- The image is stretched to fill the area.
repeat- The image is repeated (i.e. "tiled") to fill the area.
round- The image is repeated (tiled) to fill the area. If it does not fill the area with a whole number of tiles, the image is rescaled so that it does.
space- The image is repeated (tiled) to fill the area. If it does not fill the area with a whole number of tiles, the extra space is distributed around the tiles.
border-image-repeatproperty.
In addition, all CSS properties also accept the following CSS-wide keyword values as the sole component of their property value:
initial- Represents the value specified as the property's initial value.
inherit- Represents the computed value of the property on the element's parent.
unset- This value acts as either
inheritorinitial, depending on whether the property is inherited or not. In other words, it sets all properties to their parent value if they are inheritable or to their initial value if not inheritable.
Basic Property Information
- Initial Value
- See individual properties
- Applies To
- All elements, except internal table elements when
border-collapseiscollapse - Inherited?
- No
- Media
- Visual
Example Code
Basic CSS
Working Example within an HTML Document
CSS Specifications
- The
border-imageproperty is defined in CSS Backgrounds and Borders Module Level 3 (W3C Candidate Recommendation Snapshot)
Browser Support
Browser support for CSS properties can vary, particularly for newer or experimental features. Check current browser compatibility before using a property in production, especially when supporting older browsers.
The following table provided by Caniuse.com shows the level of browser support for this feature.
Initial Value
CSS properties have an initial value that applies when the property has not been explicitly set. The initial value is different from the value inherited from a parent element and may vary between properties.
Inheritance
Some CSS properties inherit their computed value from their parent element by default, while others do not. The inherit, initial, unset, and revert keywords can also be used to control how a property gets its value.
Vendor Prefixes
Most modern CSS properties use the standard, unprefixed syntax. Vendor-prefixed properties such as -webkit- are mainly relevant to older browser versions or specific features and should only be used when required by your browser support targets.