学科分类
目录
HTML5+CSS3

图片边框

在网页设计中,我们还可以使用图片作为元素的边框。运用CSS3中的border-image属性可以轻松实现这个效果。border-image属性是一个复合属性,内部包含border-image-source、border-image-slice、border-image-width、border-image-outset以及border-image-repeat等属性,其基本语法格式如下。

border-image: border-image-source/ border-image-slice/ border-image-width/ border-image-outset/ border-image-repeat;

对上述代码中名词的解释如表1所示。

表1 border-image的属性描述

属性 描述
border-image-source 指定图片的路径
border-image-slice 指定边框图像顶部、右侧、底部、左侧向内偏移量(可以简单理解为图片的裁切位置)
border-image-width 指定边框宽度
border-image-outset 指定边框背景向盒子外部延伸的距离
border-image-repeat 指定背景图片的平铺方式

示例代码如下:

 1 <title>图片边框</title>

 2 <style type="text/css">

 3 p{

 4 width:362px; 

 5 height:362px;

 6 border-style:solid; 

 7 border-image-source:url(3.png); /*设置边框图片路径*/

 8 border-image-slice:33%;      /*边框图像顶部、右侧、底部、左侧向内偏移量*/

 9 border-image-width:40px;      /*设置边框宽度*/

 10 border-image-outset:0;         /*设置边框图像区域超出边框量*/

 11 border-image-repeat:repeat;       /*设置图片平铺方式*/

 12 }

 13 </style>

在上面的例子中,第6行代码用于设置边框样式,如果想要正常显示图片边框,前提是先设置好边框样式,否则不会显示边框。图片素材如图1所示。

image-20200623131346703

图 1 边框图片素材

运行示例代码效果如图2所示:

image-20200623131419774

图2 图片边框的使用

对比图1和图2发现,边框图片素材的四角位置(即数字1、3、7、9标示位置)和盒子边框四角位置的数字是吻合的,也就是说在使用border-image属性设置边框图片时,会将素材分割成9个区域,即图1中所示的1~9数字。在显示时,将“1”、“3”、“7”、“9”作为四角位置的图片,将“2”、“4”、“6”、“8”作为四边的图片进行平铺,如果尺寸不够,则按照自定义的方式填充。而中间的“5”在切割时则被当作透明区域处理。

将例子中第11行代码中图片的填充方式改为“拉伸填充”,具体代码如下。

border-image-repeat:stretch;              /*设置图片填充方式*/

保存HTML文件,刷新页面,效果如图3所示。

img

图3 拉伸显示效果

通过图3可以看出,“2”、“4”、“6”、“8”区域中的图片被拉伸填充边框区域。与边框样式和宽度相同,图案边框也可以使用综合属性设置样式。如例5-10中设置图案边框的第7~11行代码也可以简写为:

border-image:url(3.png) 33%/40PX repeat;

在上面的示例代码中,“33%”表示边框的内偏移,“40px”表示边框的宽度,二者需要用“/”隔开。

点击此处
隐藏目录