原文链接:点击打开链接
水平round效果:
.border-image { width: 150px; height: 100px; border: 27px solid orange; } .border-image-round { -webkit-border-image: url("../images/border.png") 27 round stretch; -moz-border-image: url("../images/border.png") 27 round stretch; -o-border-image: url("../images/border.png") 27 round stretch; border-image: url("../images/border.png") 27 round stretch; }
效果:
水平repeat效果
.border-image-repeat { -webkit-border-image: url("../images/border.png") 27 repeat stretch; -moz-border-image: url("../images/border.png") 27 repeat stretch; -o-border-image: url("../images/border.png") 27 repeat stretch; border-image: url("../images/border.png") 27 repeat stretch; }
效果:
水平拉伸效果
.border-image-stretch { -webkit-border-image: url("../images/border.png") 27 stretch round; -moz-border-image: url("../images/border.png") 27 stretch round; -o-border-image: url("../images/border.png") 27 stretch round; border-image: url("../images/border.png") 27 stretch round; }
效果:
上面分别展示了水平方向的区域作用效果,border-right-image和border-left-image和前面所讲的水平区域作用是类似的,只不过这两个参数是作用在垂直方向,换句话简单点说,border-right-image和border-left-image只能作用在垂直方向才有效果,同样round,repeat,stretch影响其作用效果,我们分别来看看和水平方向有什么共同之处和不同之处
垂直方向的round效果
.border-image-round-val { -webkit-border-image: url("../images/border.png") 27 stretch round; -moz-border-image: url("../images/border.png") 27 stretch round; -o-border-image: url("../images/border.png") 27 stretch round; border-image: url("../images/border.png") 27 stretch round; }
效果:
垂直方向的repeat效果
.border-image-repeat-val { -webkit-border-image: url("../images/border.png") 27 stretch repeat; -moz-border-image: url("../images/border.png") 27 stretch repeat; -o-border-image: url("../images/border.png") 27 stretch repeat; border-image: url("../images/border.png") 27 stretch repeat; }
效果:
垂直方向的stretch效果
.border-image-stretch-val { -webkit-border-image: url("../images/border.png") 27 round stretch; -moz-border-image: url("../images/border.png") 27 round stretch; -o-border-image: url("../images/border.png") 27 round stretch; border-image: url("../images/border.png") 27 round stretch; }
效果:
对于中间区块他是受到两个方向的作用,也就是说同时在水平和垂直两个方向进行round,repeat,stretch的作用。
1、Round效果:
.border-image-round-hv { -webkit-border-image: url("../images/border.png") 27 round; -moz-border-image: url("../images/border.png") 27 round; -o-border-image: url("../images/border.png") 27 round; border-image: url("../images/border.png") 27 round; }
效果:
前面我们说过,border-image背景图片被四刀一切分成九个部分,那么其中有四个部分成为盲区,不管什么排列方式,他都处惊不变的(border-top-right-image,border-bottom-right-image,border-bottom-left-image,border-top-left-image),而border-top-image和border-bottom-image这两个部分是随着排列方式不同而效果不同,此处我们使用的是平铺,那么他们也只是在水平方向平铺;另外两个border-right-image和border-left-image只是在垂直方向进行平铺,中间部分同时在水平和垂直方向平铺,如下图所示:
2、Repeat效果
.border-image-repeat-hv { -webkit-border-image: url("../images/border.png") 27 repeat; -moz-border-image: url("../images/border.png") 27 repeat; -o-border-image: url("../images/border.png") 27 repeat; border-image: url("../images/border.png") 27 repeat; }
效果:
大家从效果图中可以看出在四条边的初始处和结尾片都有一个菱形显示不全,好像被切掉一样的,因为使用repeat和round不一样,round会压缩或伸展border-image的背景图片以其刚好适应border-width的宽度,从而正好在边框区域内显示,而repeat就不一样了,他不管什么适合不适合,直接居中重复,我个人认为repeat是边框中间向两端重复。因此大家可记住了:round平铺可能会改变边框背景图片大小来适应边框宽度排列,repeat重复是不改变背景图片大小而直接从中间向两端排列
3、Stretch效果
.border-image-stretch-hv { -webkit-border-image: url("../images/border.png") 27 stretch; -moz-border-image: url("../images/border.png") 27 stretch; -o-border-image: url("../images/border.png") 27 stretch; border-image: url("../images/border.png") 27 stretch; }
效果:
原网站中还会很多例子,这个只是我在看文章时整理出来的笔记,用于自己学习,原文链接:点击打开链接
这里是用来进行演示的链接:链接