博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS3之边框图片border-image
阅读量:5899 次
发布时间:2019-06-19

本文共 3609 字,大约阅读时间需要 12 分钟。

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-width: 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{ width: 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代码:

 

梦龙小站

 

 

预览效果:

梦龙小站

2、Repeat(重复)效果

CSS代码:

 

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

 

 

HTML代码:

 

梦龙小站

 

 

预览效果:

梦龙小站

3、Stretch(拉伸)效果

CSS代码:

 

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

 

 

HTML代码:

 

梦龙小站

 

 

预览效果:

梦龙小站

4、相框效果

CSS代码:

 

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

 

 

HTML代码:

 

IT部落阁

 

 

预览效果:

梦龙小站

5、圆角效果

CSS代码:

 

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

 

 

HTML代码:

 

梦龙小站

 

 

预览效果:

梦龙小站

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

你可能感兴趣的文章
IMapDocument interface
查看>>
职业生涯规划常用测试工具
查看>>
一些实用性的总结与纠正
查看>>
VC++ 6.0下多线程编程的最简单实例
查看>>
正则表达式之——POSIX正则表达式函数
查看>>
SQL截取字符串
查看>>
webpack练手项目之easySlide(二):代码分割(转)
查看>>
dubbo源码编译
查看>>
vue-validator(vue验证器)
查看>>
jQuery Ajax MVC 下拉框联动
查看>>
格雷码原理与Verilog实现
查看>>
P2569 股票交易
查看>>
每天一个linux命令(21):chgrp,chown,chmod
查看>>
html
查看>>
常见SQL Server导入导出数据的几个工具
查看>>
win7 + cygwin + nodejs很详细的安装步骤【推荐】
查看>>
windows phone7 前台控件绑定Binding HTML串给WebBrowser控件的方法
查看>>
剑指offer三: 斐波拉契数列
查看>>
在程序出现问题,当找不到错误时,第一时间用try ,catch包括起来
查看>>
还原php的zoeeyguard扩展源码编译前的配置内容
查看>>