CSS3之边框图片border-image

摘要:
CSS3中有关border的属性,还有很多,今天我将为大家介绍一个很好玩的属性——Border-image。有了CSS3之边框图片Border-image,我们可以轻松搞定圆角,轻松搞定很多之前难搞的东东。百分比的值类似于我们border-width的取值方式,也是遵从top,right,bottom,left的规则。剪切的特性在border-image中slice是一个关键部分,也是让人难以理解的部分。如果你用过CSS3中的clip属性,那么在理解border-image-slice来说相对会轻松一些。

CSS3中有关border的属性,还有很多,今天我将为大家介绍一个很好玩的属性——Border-image。有了CSS3之边框图片Border-image,我们可以轻松搞定圆角,轻松搞定很多之前难搞的东东。

一、border-image的语法

1、border-image-source

border-image-source:url(image);/*image可以是相对地址也可以是绝对地址*/

border-image-source跟CSS2中background-image属性相似,也是通过url()调用背景图片,图片的路径可以是相对地址也可以是绝对地址,当然你不想使用背景图片你也可以把值设置为none,即:border-image:none;其默认值就是none。

2、border-image-slice

border-image-slice: number(数字) || percentage(百分比)

border-image-slice是用来分解引入进来的背景图片,这个参数相对来说比较复杂和特别

(1)其取值支持:

I、number

number 专指像素px,因为其默认的单位就是像素px,所以在使用number时不需要加上单位,如果加上了单位反而是错误的写法。

II、percentage

Percentage指百分比的值,这个值是相对于边框背景图片而言的,例如边框图片的大小是300px*240px,我们取百分比为25% 30% 15% 20%,那么它们实际对应的效果就是剪切了图片的60px 90px 36px 60px的四边大小。百分比的值类似于我们border-width的取值方式,也是遵从top,right,bottom,left的规则。

(2)剪切的特性

在border-image中slice是一个关键部分,也是让人难以理解的部分。如果你用过CSS3中的clip属性,那么在理解border-image-slice来说相对会轻松一些。border-image-slice虽然表意上说不是剪切,但在我们实际应用中他就是一种纯粹的剪切,他把我们通过border-image-source取到的图片切成了九份,在像background-image一样重新布置。前面我们说了他有1~4个参数,类似于border-width的方位规则,在把剪切到的图片重新分布给他们。

3、border-image-width

border-image- number(数字) || percentage(百分比) 

border-image-width就是border-width,用来设置边框的宽度,我们也可以直接用border-width来代替border-image-width的。

4、border-image-repeat

border-image-repeat: round(平铺) || repeat(重复) || rtretch(拉伸)

border-image-repeat是用来指定border-image的排列方式,这个属性设置参数和其他的不一样,border-image-repeat不遵循top,right,bottom,left的方位原则,他只接受两个(或一个)参数值,第一个表示水平方向,第二个表示垂直方向;当取值为一个值时,表示水平和垂直方向的排列方式相同。同时其默认值是stretch(拉伸),如果你省略不取值时,那么水平和垂直方向都是以stretch(拉伸)排列。参数值有:Round(平铺)、Repeat(重复)、Stretch(拉伸)。

5、border-image的综合写法

border-image: border-image-source(图片的路径) || border-image-slice(剪切的位置) || border-image-width(边框的宽度) || border-image-repeat(排列方式)

二、border-image的兼容

1、border-image的兼容情况

梦龙小站

2、border-image的兼容写法

/*Mozilla内核Firefox*/
-moz-border-image: border-image-source(图片的路径) || border-image-slice(剪切的位置) || border-image-width(边框的宽度) || border-image-repeat(排列方式)
/*Webkit内核Safari and Chrome*/
-webkit-border-image: border-image-source(图片的路径) || border-image-slice(剪切的位置) || border-image-width(边框的宽度) || border-image-repeat(排列方式)
/*Opera*/
-o-border-image: border-image-source(图片的路径) || border-image-slice(剪切的位置) || border-image-width(边框的宽度) || border-image-repeat(排列方式)
/*W3C标准*/
border-image: border-image-source(图片的路径) || border-image-slice(剪切的位置) || border-image-width(边框的宽度) || border-image-repeat(排列方式)

三、border-image的例子(在谷歌浏览器下预览哟)

1、Round(平铺)效果

CSS代码:

div{  240px; height:240px; border: 40px solid orange;
 -webkit-border-image: url("http://www.leemagnum.com/img/d.png") 40 round ;
}
/*
 1、若是单方向的平铺只需要把排列方式改成横向和竖向的两部分即可
 2、round(平铺)会压缩或伸展border-image的背景图片以其刚好适应border-width的宽度
*/

HTML代码:

<div>梦龙小站</div>

预览效果:

梦龙小站

2、Repeat(重复)效果

CSS代码:

div{  240px; height:240px; border: 40px solid orange;
 -webkit-border-image: url("http://www.leemagnum.com/img/d.png") 40 repeat;
}
/*
 1、若是单方向的重复只需要把排列方式改成横向和竖向的两部分即可
 2、repeat(重复)不管宽度适合不适合,直接居中重复
*/

HTML代码:

<div>梦龙小站</div>

预览效果:

梦龙小站

3、Stretch(拉伸)效果

CSS代码:

div{  240px; height:240px;border: 40px solid orange;
 -webkit-border-image: url("http://www.leemagnum.com/img/d.png") 40 stretch;
}
/*
 1、若是单方向的重复只需要把排列方式改成横向和竖向的两部分即可
 2、stretch(拉伸)只是把中间剩下的图片拉伸到适应的宽高
*/

HTML代码:

<div>梦龙小站</div>

预览效果:

梦龙小站

4、相框效果

CSS代码:

div{148px; height:148px;border:20px solid orange;
     -webkit-border-image: url("http://www.leemagnum.com/img/a.png") 10 stretch;
}

HTML代码:

<div>
	<img src="http://justflyhigh.com/img/front/erweima.png" alt="IT部落阁" />
</div>

预览效果:

梦龙小站

5、圆角效果

CSS代码:

div {
 border- 10px;
 -webkit-border-image: url("http://www.leemagnum.com/img/a.jpg") 10;
 200px;
 height:300px;
}

HTML代码:

<div>梦龙小站</div>

预览效果:

梦龙小站

CSS3之边框图片border-image就介绍到这里了,不知道大家看明白了么?若不明白的话欢迎大家在下面评论,咱们一起研究研究。若有更好的CSS3之边框图片border-image的案例欢迎分享哟。

免责声明:文章转载自《CSS3之边框图片border-image》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇干货|蚁群算法求解带时间窗的车辆路径规划问题(附Java代码及详细注解)progit 之 git 起步(1)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

前端规范标准(一)

目录 1 、 规范目的 2 、 基本准则 3 、 文件规范 4 、 文件规范 5 、 html 书写规范 6 、 css 书写规范 7 、 JavaScript 书写规范 8 、 图片规范 9 、 注释规范 10 、 开发及测试工具约定 11 、 其他规范 12 、 CSS Hack   1  规范目的 为提高团队协作效率, 便于后台人员添加功能及前...

Echarts配置项详解

1.图表标题 title: { x: 'left', // 水平安放位置,默认为左对齐,可选为: // 'center' ¦ 'left' ¦ 'right' // ¦...

JS实现“隐藏与显示”功能(多种方法)

1,通过按钮实现隐藏与显示: 这个是通过按钮点击实现的隐藏与显示,具体代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47...

css 布局

http://www.iyunlu.com/view/css-xhtml/64.html 作者:一丝链接:https://www.zhihu.com/question/20495297/answer/15288789来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 我还是那句话,把某个事物简单的归结为单一的观点都是片面的。1...

css position 属性

position属性 这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。 JavaScript 语法: object.style.position="absolute" 值 描述 absolute 生成绝对定位的元素,相对...

CSS笔记(十五)CSS3之用户界面

参考:http://www.w3school.com.cn/css3/css3_user_interface.asp 在 CSS3 中,新的用户界面特性包括重设元素尺寸、盒尺寸以及轮廓等。 新的用户界面属性 下面的表格列出了所有的转换属性: 属性 描述 CSS appearance 允许您将元素设置为标准用户界面元素的外观 3 box-sizi...