意想不到的border-image

1,157 阅读1分钟

对于border用的最多的就是border: 1px solid/dashed color; 不知道实际应用中使用border-image的人多不多。发现这个属性后,感觉前端展示上可以出现很多有意思的图形展示。

border-image语法

border-image: url(图片路径) A B C D/border-width  topbottom leftright;

属性含义:

  • A/B/C/D代表截图的url中使用的图片的宽度

其用法同margin等,可以单个值,也可以两个值,也可以四个值

假如使用的url中的图像如下

image.png

  • border-width表示边框的宽度
  • topbottom/leftright、

分别表示上下、左右图片的渲染渲染方式: round/stretch/repeat

border-image的应用

通过改变不同的属性,展示各种多样的边框图形。

image.png

<div>示例图片</div>

div {
    width: 300px;
    height: 100px;
    line-height: 100px;
    border-image: url(https://marketplace.canva.cn/MAC92hMFfcg/1/thumbnail_large/canva-MAC92hMFfcg.png) 120 120 120 120/10px 10px 10px 10px round stretch;
}

image.png

border-image: url(https://marketplace.canva.cn/MAC92hMFfcg/1/thumbnail_large/canva-MAC92hMFfcg.png) 120 120 120 120/10px 10px 10px 10px round repeat;

image.png

      div {
         width: 300px;
         height: 50px;
         line-height: 50px;
         border-image: url(https://marketplace.canva.cn/MAC92hMFfcg/1/thumbnail_large/canva-MAC92hMFfcg.png) 20 250 20 250/10px 10px 10px 10px stretch  stretch;
      }

border-image替换不同图片

根据上面可知,不同的图片,特别是不规则的图片,设置各种不同的属性,会出现各种不同的图形。

示例图片

image.png

模拟类似气泡框

      div {
         width: 300px;
         text-align: center;
         color: #0f0;
         height: 50px;
         line-height: 68px;
         border-image: url(https://upload.wikimedia.org/wikipedia/commons/thumb/e/e3/3-fold_rotation_axis.svg/1024px-3-fold_rotation_axis.svg.png) 79 42 43 27/20px 10px 30px 10px stretch round;
      }

展示效果如下:

image.png