对于border用的最多的就是border: 1px solid/dashed color; 不知道实际应用中使用border-image的人多不多。发现这个属性后,感觉前端展示上可以出现很多有意思的图形展示。
border-image语法
js
border-image: url(图片路径) A B C D/border-width topbottom leftright;
属性含义:
- A/B/C/D代表截图的url中使用的图片的宽度
其用法同margin等,可以单个值,也可以两个值,也可以四个值
假如使用的url中的图像如下
- border-width表示边框的宽度
- topbottom/leftright、
分别表示上下、左右图片的渲染渲染方式: round/stretch/repeat
border-image的应用
通过改变不同的属性,展示各种多样的边框图形。
css
<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;
}
css
border-image: url(https://marketplace.canva.cn/MAC92hMFfcg/1/thumbnail_large/canva-MAC92hMFfcg.png) 120 120 120 120/10px 10px 10px 10px round repeat;
css
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替换不同图片
根据上面可知,不同的图片,特别是不规则的图片,设置各种不同的属性,会出现各种不同的图形。
模拟类似气泡框
css
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;
}
展示效果如下: