边框图片属性

最后更新:2026-09-13

border-image 边框图片属性

border-image 允许使用图片来绘制元素的边框,而不是传统的实线或虚线。它通过将一张图片切割成九宫格(四个角、四条边、中间区域),再将各部分映射到边框对应位置来实现。这是创建复杂边框装饰效果的强大工具。

分类
初始值none
继承
适用于
可动画
CSS 版本CSS3
状态标准

📝 语法

border-image: <border-image-source> || <border-image-slice> || <border-image-width> || <border-image-outset> || <border-image-repeat>;

⚙️ 取值

类型描述
<border-image-source> || <border-image-slice> || <border-image-width> || <border-image-outset> || <border-image-repeat>边框图片简写

▶ 示例

编辑下方代码,在 playground 中查看实时效果:

🌐 浏览器支持

浏览器 ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
border-image v57 v12 v52 v10.1 v44
所有主流浏览器均支持
注意: 使用 border-image 时必须同时声明 border 或 border-width,否则图片边框无法显示。
提示: border-image-slice 的值表示从图片边缘向内切割的距离;round 关键字会让边框图片自动平铺并缩放以适应边长。

❓ 常见问题

Qborder-image 的浏览器兼容性如何?
A现代浏览器(Chrome、Firefox、Edge、Safari)均已支持,但 IE11 及更早版本支持有限或不支持。使用时应同时声明 border: solid + border-width 作为回退,这样不支持 border-image 的浏览器会显示普通边框,否则元素可能完全没有边框。
Q使用 border-image 后为什么边框不显示?
A常见原因:一是没设 border-width,border-image 不会自动提供宽度,需先用 border 撑出边框区域;二是图片路径错误;三是 slice 值超出图片实际尺寸。建议先写 border: 20px solid transparent; 再叠加 border-image。
Qborder-image 的 slice、repeat、outset 分别是什么意思?
Aslice 是从图片四边向内切的九宫格宽度(不写单位,按像素或百分比);repeat 决定边条填充,常用 stretch(拉伸)、round(平铺取整)、repeat(平铺可截断);outset 让边框图向外扩展。简写:url(图) slice / width / outset repeat。
Qborder-image 和 border-radius 能同时使用吗?
A不能很好地同时使用。border-image 绘制时不会被 border-radius 裁剪,圆角区域会出现图片露角或锯齿,二者组合效果不佳。需要"圆角 + 图片边框"效果时,建议改用 background-image + padding 模拟,或用 mask 实现。

📚 相关教程

Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏