Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Give a CSS styled div a "border-left-image"

Tags:

css

Just trying to give the main content div on a site a border on the left and right side of the div. Rather than have separate divs for each border, I thought to use the border-left-image capability in CSS3 to make it happen. My code is as follows:

#content {
    background-color: #7FC3F4;
    height: 100%;
    width: 900px;
    border-left-width: 30px;
    border-left-image: url(../images/border_left_gradient.png);
    border-right-width: 30px;
    border-right-image: url(../images/border_right_gradient.png);
    margin-right: 10%;
    margin-left: 10%;
}

Of all the Google searches I've done, I have to yet to come up with an explanation as to why this code isn't valid. Some results return numeric values to be placed after the url, however regardless of what combination of numbers I try, no dice.

Thoughts?

like image 632
AJ S Avatar asked Apr 04 '11 16:04

AJ S


People also ask

What does border left do in CSS?

The border-left shorthand CSS property sets all the properties of an element's left border.

How do I change the border style of an image in HTML?

Add a border using HTMLWithin the img tag, add the border: #000000 6px outset; to the style attribute. Where you can enter your own color code, border width, and border style in the code.


1 Answers

border-image is now supported in all the major browsers (2014-05-22)

Demo with a single border-left-image

Demo with different left and right images.

The demos now need a minimum of Chrome 15, Safari 6, Firefox 15, IE 11 or Opera 15.

It is not actually possible to do this with separate image files, but you can slice a single image on the left and right. See the border-image page on MDN which shows some good examples or CSS Tricks for a comprehensive summary of how the other slicing options work.

Note: if you need earlier browser support please ask as a previous version of my answer did work with Chrome 12, Safari 5.0.3, Firefox 4 and Opera 10 but I have updated it now that new browsers support prefix-free CSS3.

Edit: Firefox now requires an additional property setting - border-style: solid (see CSS - New Firefox-release doesn't show Border-Image anymore)

like image 159
andyb Avatar answered Sep 16 '22 18:09

andyb