CSS border-image 属性

CSS border-image 属性允许在元素的边框上绘制图像。这使得绘制复杂的外观组件更加简单,也不用在某些情况下使用九宫格了。使用 border-image 时,其将会替换掉 border-style 属性所设置的边框样式。虽然规范要求使用 border-image 时边框样式必须存在,但一些浏览器可能没有实现这一点。


实例

将图片规定为包围 div 元素的边框:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. div
  6. {
  7. border:15px solid transparent;
  8. width:300px;
  9. padding:10px 20px;
  10. }
  11. #round
  12. {
  13. -moz-border-image:url(/images/border.png) 30 30 round; /* Old Firefox */
  14. -webkit-border-image:url(/images/border.png) 30 30 round; /* Safari and Chrome */
  15. -o-border-image:url(/images/border.png) 30 30 round; /* Opera */
  16. border-image:url(/images/border.png) 30 30 round;
  17. }
  18. #stretch
  19. {
  20. -moz-border-image:url(/images/border.png) 30 30 stretch; /* Old Firefox */
  21. -webkit-border-image:url(/images/border.png) 30 30 stretch; /* Safari and Chrome */
  22. -o-border-image:url(/images/border.png) 30 30 stretch; /* Opera */
  23. border-image:url(/images/border.png) 30 30 stretch;
  24. }
  25. </style>
  26. </head>
  27. <body>
  28. <div id="round">在这里,图片铺满整个边框。</div>
  29. <br>
  30. <div id="stretch">在这里,图片被拉伸以填充该区域。</div>
  31. <p>这是我们使用的图片:</p>
  32. <img src="/images/border.png">
  33. <p><b>注释:</b> Internet Explorer 不支持 border-image 属性。</p>
  34. <p>border-image 属性规定了用作边框的图片。</p>
  35. </body>
  36. </html>

页面底部有更多实例。


浏览器支持

表格中的数字注明了完全支持该属性的首个浏览器版本。

属性
border-image16.04.0 -webkit-11.015.03.5 -moz-6.03.1 -webkit-15.011.0 -o-

定义和用法

border-image 属性是一个简写属性,用于设置以下属性:

  • border-image-source
  • border-image-slice
  • border-image-width
  • border-image-outset
  • border-image-repeat
特别注意,若 border-image-source(此值可用border-image-source或border-image简写设置) 的值为 none 或者图片不能显示,则将应用 border-style。

提示:请使用 border-image-* 属性来构造漂亮的可伸缩按钮!

默认值:none 100% 1 0 stretch
继承性:no
版本:CSS3
JavaScript 语法:object.style.borderImage="url(border.png) 30 30 round"

可能的值

描述测试
border-image-source用在边框的图片的路径。
border-image-slice图片边框向内偏移。
border-image-width图片边框的宽度。
border-image-outset边框图像区域超出边框的量。
border-image-repeat图像边框是否应平铺(repeated)、铺满(rounded)或拉伸(stretched)。测试

相关页面

CSS3 教程:CSS3 边框

分类导航