如何仅在一侧使用边框图像?

时间:2012-11-21 04:08:02

标签: html css css3

我有一个图像,我想将其设置为元素的边框,但仅作为底部边框:the border image< - 它很小 - 但它就在那里。

这是我到目前为止所得到的:

<style>
body { margin: 0; padding: 10px; }
    h1 {
background-color: red;
    border: solid transparent;
    border-width: 2px;
    border-image: 2 repeat url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAADCAYAAACqPZ51AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAB9JREFUeNpiZGBgOMOABv7//48uxMDEQCQgWiFAgAEAjqADz4EvP7IAAAAASUVORK5CYII=");
}
</style>
<h1>Bacon</h1>
<p>Bacon ipsum dolor sit amet tenderloin drumstick ribeye filet mignon t-bone beef ribs. Tri-tip venison turkey salami drumstick chicken pastrami. Frankfurter pork jowl ball tip tail.</p>

或者看JS小提琴:http://jsfiddle.net/eqpt5/

正如您所看到的,这会将边框图像放在顶部和底部(以及两侧 - 尽管您看不到它)。如何使用border-image

仅在底部放置边框图像

4 个答案:

答案 0 :(得分:15)

border-width:2px更改为border-width:0 0 2px

通过这种方式,您实际上设置边框底部宽度为2px,其他边宽度等于零

演示http://jsfiddle.net/naveenksh/eqpt5/3/

答案 1 :(得分:2)

border-bottom-width: 1px;

将它放在其他边框之后,以覆盖特定的边框。

你可以用简短的手,但我认为这更易于阅读。

答案 2 :(得分:1)

根据您想要的结果,您可以border-top:none;正常工作......

<强> CSS

h1 {
background-color: red;
    border: solid transparent;
    border-width: 2px;
    border-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAADCAYAAACqPZ51AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAB9JREFUeNpiZGBgOMOABv7//48uxMDEQCQgWiFAgAEAjqADz4EvP7IAAAAASUVORK5CYII=") 2 repeat;
    border-top:none;
}

<强> DEMO

答案 3 :(得分:-1)

除了最佳答案。由于border-image会覆盖border-style,要获取其他边的边框,只需用另一个div包装div,然后声明边框。

HTML:

<div id="wrapper">             //div with border style
 <div id="content"></div>      //div with border image
</div>

CSS:

#wrapper {
border-top: 1px solid black;
border-right: 1px solid black;
border-bottom: 1px solid black;
}
#content {
border-image: url(../images/blue-bg.png) 0 0 0 50;
border-left-width: 10px;

}