一篇文章带你了解CSS3图片边框

147 阅读2分钟

CSS3图片边框

使用CSS3 border-image 属性,你可以在元素的周围设置图片边框。

一、浏览器支持

表中的数字指定完全支持该属性的第一个浏览器版本。

数字后面的 -webkit- 或者 -moz- 使用时需要指定前缀。

![](//upload-images.jianshu.io/upload_images/9337488-86f3b19d0218a7a7.png?imageMogr2/auto-orient/strip|imageView2/2/w/1098/format/webp)

二、CSS3 border-image 属性

CSS3 border-image 属性允许您指定要用来代替元素周围的正常边界的图像。属性有三个部分:

  1. 作为边框的图片。

  2. 在哪里分割图像。

  3. 确定中间部分应重复或延伸。

以下面的图像(叫做 "border.png")为例:

![](//upload-images.jianshu.io/upload_images/9337488-8228b1dfa74be4e9.png?imageMogr2/auto-orient/strip|imageView2/2/w/81/format/webp)

原理分析:

border-image 性将图像分割成九个部分,就像一个井字游戏板。然后将角放在拐角处,中间部分按指定的顺序重复或拉伸。

注意:

border-image 正常工作, 元素也需要设置边框属性!

1. 图像的中间部分重复创建边界,图片作为边框

CSS代码:

<!DOCTYPE CSS>
<CSS lang="en">
<head>
  <meta charset="UTF-8">
  <title>项目</title>
</head>
<body>

  <p id="borderimg">在这里,图像的中间部分被延伸来创建边界.</p>
  <p>这里是原始图像:</p><img src="img/border.png">
</body>
</CSS>

代码如下:

#borderimg {
    border: 10px solid transparent;
    padding: 15px;
    -webkit-border-image: url(img/border.png) 30 round; /* Safari 3.1-5 */
    -o-border-image: url(img/border.png) 30 round; /* Opera 11-12.1 */
    border-image: url(img/border.png) 30 round;
}
![](//upload-images.jianshu.io/upload_images/9337488-7b19e6a765f289d3?imageMogr2/auto-orient/strip|imageView2/2/w/1080/format/webp)

2. 图像的中间部分延伸到创建边界:使用图片作为边框!

实例代码:

#borderimg {
                border: 10px solid transparent;
                padding: 15px;
                -webkit-border-image: url(img/border.png) 30 stretch;
                /* Safari 3.1-5 */
                -o-border-image: url(img/border.png) 30 stretch;
                /* Opera 11-12.1 */
                border-image: url(img/border.png) 30 stretch;
            }
![](//upload-images.jianshu.io/upload_images/9337488-956bf7b79e4d0299.gif?imageMogr2/auto-orient/strip|imageView2/2/w/1/format/webp)

注意: border-image 属性是border-image-source, border-image-slice, border-image-width, border-image-outsetborder-image-repeat 的缩写.

1. 不同的切片值

不同的切片值完全改变边框的样子:

实例 1

border-image: url(border.png) 50 round;

#borderimg1 {
border: 10px solid transparent;
padding: 15px;
-webkit-border-image: url(img/border.png) 50 round;
/* Safari 3.1-5 */
-o-border-image: url(img/border.png) 50 round;
/* Opera 11-12.1 */
border-image: url(img/border.png) 50 round;
}
![](//upload-images.jianshu.io/upload_images/9337488-262d86711edb87e7?imageMogr2/auto-orient/strip|imageView2/2/w/1080/format/webp)

实例 2

border-image: url(border.png) 20% round;

#borderimg2 {
border: 10px solid transparent;
padding: 15px;
-webkit-border-image: url(img/border.png) 20% round;
/* Safari 3.1-5 */
-o-border-image: url(img/border.png) 20% round;
/* Opera 11-12.1 */
border-image: url(img/border.png) 20% round;
}
![](//upload-images.jianshu.io/upload_images/9337488-2efc524f4dabcd25.png?imageMogr2/auto-orient/strip|imageView2/2/w/1080/format/webp)

实例 3

border-image: url(border.png) 30% round;

代码如下:

#borderimg3 {
border: 10px solid transparent;
padding: 15px;
-webkit-border-image: url(img/border.png) 30% round;
/* Safari 3.1-5 */
-o-border-image: url(img/border.png) 30% round;
/* Opera 11-12.1 */
border-image: url(img/border.png) 30% round;
}
![](//upload-images.jianshu.io/upload_images/9337488-c1e59f863ab54fcf?imageMogr2/auto-orient/strip|imageView2/2/w/1080/format/webp)

三、总结

本文基于CSS基础,使用CSS语言,介绍了有关CSS定义图片边框的知识点,从基础的属性概念入手 ,border-image的用法,在实际应用中需要注意的问题,做了详细的讲解。通过一个个实例的演示。希望帮助你更好的学习CSS。

作者:Python进阶学习交流
链接:www.jianshu.com/p/cfda46c44…
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。