欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > CSS——border-image属性值详解(通俗易懂)

CSS——border-image属性值详解(通俗易懂)

2025/8/18 9:47:13 来源:https://blog.csdn.net/2401_88591507/article/details/146491674  浏览:    关键词:CSS——border-image属性值详解(通俗易懂)

 

border-image 是 CSS 里用于给元素边框应用图像的属性。它能够让你用图像来替代传统的边框样式,从而实现更丰富的视觉效果。下面就来详细讲解 border-image 属性值及其语法顺序。

语法

border-image: source slice width outset repeat|initial|inherit;

属性值详解

1. source

这个属性值规定了边框图像的来源,通常是一个图像文件的路径。可以用 url() 函数来指定图像文件的位置。

border-image: url('border.png');
2. slice

作用:把蛋糕切成 九宫格,中间的切片会被丢弃(或保留,取决于 fill)。
• 写法:
◦ 单值:30(像素)或 50%(百分比),相当于四个方向都切同样的位置。
◦ 双值:30 60(上下切30,左右切60)。
◦ 四值:30 60 90 120(上、右、下、左)。
• 比喻:用刀在蛋糕四周划线,把蛋糕切成四条边和四个角,中间的切片会被丢掉(除非用 fill 保留)。

此属性值用于把边框图像切割成 9 个区域:4 个角、4 条边和 1 个中间区域。可以用一个或多个长度值(如 pxem)或者百分比来定义切割的位置。

border-image: url('border.png') 30; /* 上下左右都切割 30px */
border-image: url('border.png') 30 20; /* 上下切割 30px,左右切割 20px */
border-image: url('border.png') 30 20 10; /* 上切割 30px,左右切割 20px,下切割 10px */
border-image: url('border.png') 30 20 10 40; /* 上切割 30px,右切割 20px,下切割 10px,左切割 40px */
3. width

该属性值用来设置边框图像的宽度。它可以是一个或多个长度值(如 pxem)、百分比或者关键字 auto

border-image: url('border.png') 30 / 20px; /* 边框图像宽度为 20px */
border-image: url('border.png') 30 / 20px 30px; /* 上下边框图像宽度为 20px,左右为 30px */
4. outset

这个属性值规定了边框图像向外扩展的距离。它可以是一个或多个长度值(如 pxem)。

border-image: url('border.png') 30 / 20px / 10px; /* 边框图像向外扩展 10px */
5. repeat

此属性值决定了边框图像的重复方式。有以下几种取值:

  • stretch:拉伸边框图像以填充边框区域。
  • repeat:重复边框图像以填充边框区域。
  • round:重复边框图像并缩放以适应边框区域。
  • space:重复边框图像并在图像之间留出空白以适应边框区域。
border-image: url('border.png') 30 / 20px / 10px stretch;

语法顺序

border-image 属性值的语法顺序通常是固定的,不过其中部分值可以省略。下面是具体规则:

  • source 必须放在首位。
  • slice 紧跟在 source 之后。
  • width 和 outset 要放在一个斜杠 / 后面,且 width 在前,outset 在后。
  • repeat 要放在最后。 

为什么?

就像切蛋糕的步骤必须按顺序来:
1. 先选蛋糕(source)。
2. 再切蛋糕(slice)。
3. 然后决定边框的厚度(width)。
4. 再决定蛋糕伸出盒子的长度(outset)。
5. 最后决定碎片如何铺满(repeat)。
如果顺序乱了会怎样?

浏览器会懵逼,可能把“切片参数”当成“图片路径”,导致边框失效!

. 省略参数的技巧


如果某些参数省略,可以用默认值:
• slice 默认是 100%(不切,直接用整张图片)。
• width 默认继承 border-width。
• outset 默认是 0。
• repeat 默认是 stretch。 

示例:

/* 完整语法 */
border-image: url('border.png') 30 20 10 40 / 20px 30px / 10px stretch;/* 省略 width 和 outset */
border-image: url('border.png') 30 stretch;/* 省略 repeat */
border-image: url('border.png') 30 / 20px;

形象比喻

你可以把 border-image 想象成给一个盒子贴带图案的胶带。source 就是胶带的样式,slice 是把胶带剪成合适的小块,width 是胶带的宽度,outset 是胶带超出盒子边缘的部分,repeat 则是决定胶带图案如何排列。

核心思想:把图片切成九宫格,用边框的四个角和四条边拼接出来,像装饰蛋糕一样装饰盒子! 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词