CSS3 - new Border properties

CSS3 contains new features that allow you to create rounded borders, add shadow to boxes, and use an image as a border.

CSS3 Rounded Corners

The CSS3 border-radius property allows you to easily create rounded corners in your design elements, without the need for corner images or the use of multiple div tag.
Internet Explorer suports border-radius starting with IE9, but you can use the DD_roundies JavaScript library to display ronded corners in browsers that not support this css property; see the tutorial Rounded corners in Internet Explorer.

Example:
<style type="text/css"><!--
#id1 {
 width:300px;
 height:120px;
 border:2px solid blue;
 border-radius:28px;
}
--></style>

<div id="id1"> CSS Course - coursesweb.net</div>
Result:
CSS Course - coursesweb.net

Rounded corners can also be created independently using the four individual border-*-radius properties (border-top-left-radius, border-top-right-radius, border-bottom-right-radius, and border-bottom-left-radius).
Example:
<style type="text/css"><!--
#id1 {
 width:300px;
 height:120px;
 background-color:#bbfeda;
 border:2px solid blue;
 border-top-left-radius:20px;
 border-bottom-right-radius:38px;
}
--></style>

<div id="id1"> CSS Course - coursesweb.net</div>
Result:
CSS Course - coursesweb.net

Box Shadow

The box-shadow property is used to add shadow to boxes. It is supported in IE9+, Firefox 4, Chrome, and Opera.
The box-shadow has the following syntax:
elm { box-shadow: X_offset Y_offset blur size color inset; }
- elm - is the HTML element to which you apply this property.
- X_offset - is the position of the horizontal shadow. Negative values are allowed.
- Y_offset - is the position of the vertical shadow. Negative values are allowed.
- blur - sets the blur distance (optional, 0 or not specified is no blur).
- size - the size of shadow (optional).
- color - define the color of the shadow (optional, black for not specified).
- inset - changes the shadow from an outer shadow (outset) to an inner shadow.

The first two values are required. If the blur or size lengths are not supplied, they are assumed to be 0.

Example:
<style type="text/css"><!--
#id1 {
 width:300px;
 height:120px;
 background-color:#bbfeda;
 box-shadow: 11px 11px 5px #7878da;
 -webkit-box-shadow: 11px 11px 5px #7878da;    /* Safari and Chrome */
}
--></style>

<div id="id1"> CSS3 box-shadow, coursesweb.net/css/</div>
Result:
box-shadow

CSS3 Border Image

With the border-image property you can use an image to act as an element's border.
This is achieved by slicing the border area into a nine-segment grid representing each of the corners of the border area, the sides, and the center (as shown in the image below). A single image file is similarly split into nine segments and mapped to each of the areas of the border area and the center of the container.
Slicing border-image

The box-shadow has the following syntax:
elm { border-image: url_img slice width outset repeat; }
- url_img - the path to the image to be used as a border.
- slice - specifies the 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.
- width - the width of the image-border.
- outset - specifies the amount by which the border image area extends beyond the border box.
- repeat - specifies whether the image-border should be repeated, rounded or stretched (can have these values: stretch, repeat, round).

The border-image property is not supported in Internet Explorer.
Firefox supports the -moz-border-image property.
Safari and Chrome support the -webkit-border-image property.

• To see the border-image properly, you must specify also the border-width property.
In the following example, this image is used: border-image
<style type="text/css"><!--
#id1 {
 width:200px;
 height:120px;
 border-width:12px;
 -moz-border-image:url('border_image.png') 30 30 round;    /* Firefox */
 -webkit-border-image:url('border_image.png') 30 30 round;  /* Safari and Chrome */
 border-image:url('border_image.png') 30 30 round;
}
#id2 {
 width:200px;
 height:120px;
 border-width:15px;
 -moz-border-image:url('border_image.png') 30 30 stretch;    /* Firefox */
 -webkit-border-image:url('border_image.png') 30 30 stretch;  /* Safari and Chrome */
 border-image:url('border_image.png') 30 30 stretch;
}
--></style>

<div id="id1"> CSS3 border-image, with round</div><br />
<div id="id2"> CSS3 border-image, with stretch</div>
Result:
Ex border-image