css border渐变_你并不一定非得在border里面加载图片之如何正确使用border-image

b4b301bbf0af7b89922f14dc7d7884c0.png
JS Bin​jsbin.com
d0bca467106ce2db5c90c9533c8ae54c.png

本周讲一个常用的需求,边框的斜条纹如何实现,demo链接在上面,主要用到了个核心知识点 repeating-linear-gradient border-image-slice。

这个需求通常来讲有这么三种实现方式。

第一种参考网易严选,通过设计切图,然后在元素周边新建另外几个div,然后在这些辅助div里面横向重复背景图片。

76e1e09d954cc74177cdc358a45799b9.png

第二种跟第一种很相似,不过有一点进步,在border-image上,横向循环背景图片。

下面我们来讲第三种方式如何优雅地实现斜条纹背景框。

只需几行,随用随改,你想发生什么故事都可以。

.linear-border {
    height: 5rem;
    border-style: solid;
    border-width: .2rem;
    border-image: repeating-linear-gradient(-45deg,
    #E8544D,
    #E8544D 10px,
    white 10px,
    white 20px,
    #75ADF8 20px,
    #75ADF8 30px,
    white 30px,
    white 40px);
    border-image-slice: 5;
}

19239988856a496a48d7aede80843dea.png

下面来逐个分析这两个知识点 repeating-linear-gradient border-image-slice

1. repeating-linear-gradient

总共有两个参数

第一个参数表示线性渐变的方向,可以是角度( -45deg )也可以是方向( left top )。

第二个参数表示起点颜色和终点颜色。指定渐变的起止颜色,由颜色值、停止位置(可选,使用百分比指定)组成。

我的例子里面就是通过第一个参数设定了-45度,然后从0-40px每10px依次变换蓝,白,红,三种颜色。

2. border-image-slice

这个属性顾名思义,就是很简单的直译,边框图片切片,把边框图片四分五裂,再重新安置,变形,其方位规则符合CSS普遍的方位规则(与margin,padding等或border-width一致),上右下左顺时针。如果你只声明了 border-image-source border-width border-image-width 没有任何切片,则整个未切割的图像将放置在元素的四个角上,缩放到指定的宽度。如果你想实现背景图片循环展示就得借助于border-image-slice,它的主要功能是锁定背景图片的四个角,然后在其他区域根据参数循环剩余部分,如果想填充内容部分,选择fill即可。

a4225d8a7e0214265b32d27177f75b0f.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值